Module (4%)
Section (43%)

Декомпозиция

Часто задача настолько велика и сложна, что ее нельзя поручить одному разработчику, и над ней приходится работать команде разработчиков. Проблема должна быть разделена между несколькими разработчиками таким образом, чтобы обеспечить их эффективное и беспрепятственное сотрудничество.

The concept of sharing the work/working together


Кажется невообразимым, чтобы несколько программистов могли писать один и тот же фрагмент кода одновременно, поэтому работа должна быть распределена между всеми членами команды.

Такая декомпозиция имеет цель, отличную от описанной ранее, - она касается не только разделения работы, но и разделения ответственности между многими разработчиками.

Каждый из них пишет четко определенный и описанный набор функций, которые при объединении в модуль (мы расскажем об этом чуть позже) дадут конечный продукт.



Это приводит нас непосредственно к третьему условию: если Вы собираетесь разделить работу между несколькими программистами, разделите задачу так, чтобы продукт можно было реализовать в виде набора отдельно написанных функций, собранных вместе в разные модули.

Откуда берутся функции?

В общем, функции поступают как минимум из трех мест:

  • из самого Python - многочисленные функции (например, print()) являются неотъемлемой частью Python и всегда доступны без каких-либо дополнительных усилий со стороны программиста; мы называем эти функции встроенными функциями ;
  • из предустановленных модулей Python - множество функций, очень полезных, но используемых значительно реже встроенных, доступно в ряде модулей, установленных вместе с Python; использование этих функций требует от программиста дополнительных действий, чтобы сделать их полностью доступными (мы расскажем вам об этом позже);
  • прямо из Вашего кода - Вы можете писать свои собственные функции, размещать их внутри своего кода и свободно использовать;
  • есть еще одна возможность, но она связана с классами, поэтому мы ее пока опускаем.
Functions come from Python, modules, code