Module (57%)
Section (55%)

Ваш первый пакет: шаг 1

Представьте, что в недалеком будущем Вы и Ваши сотрудники напишете большое количество функций Python.

Ваша команда решает сгруппировать функции в отдельные модули, и это конечный результат упорядочивания:

Functions located in separate modules

#! /usr/bin/env python3 """ module: alpha """ def funA(): return "Alpha" if __name__ == "__main__": print("I prefer to be a module.")

alpha.py

Примечание. Мы представили все содержимое только для модуля alpha.py - предположим, что все модули выглядят одинаково (они содержат одну функцию с именем funX, где X - первая буква имени модуля).



Ваш первый пакет: шаг 2

Внезапно кто-то замечает, что эти модули формируют свою собственную иерархию, поэтому помещать их все в плоскую структуру не будет хорошей идеей.

После некоторого обсуждения команда приходит к выводу, что модули должны быть сгруппированы. Все участники согласны с тем, что следующая древовидная структура прекрасно отражает взаимоотношения между модулями:

Modules grouped together

Давайте рассмотрим это снизу вверх:

  • группа ugly содержит два модуля: psi и omega;
  • группа best содержит два модуля: sigma и tau;
  • группа good содержит два модуля (alpha и beta) и одну подгруппу (best);
  • группа extra содержит две подгруппы (good и bad) и один модуль (iota).
 

Это выглядит плохо? Вовсе нет - тщательно проанализируйте структуру. Это похоже на что-то известное, не так ли?

Это похоже на структуру каталогов.