Руководство к источнику Эрланга
http://www.trapexit.org/A_Guide_To_The_Erlang_Source
Я думаю, что нужно отделить модули помогают с ясностью кода, и позже, если случайно эти модули растут до более чем 10 строк, я не будет так плохо с ними разделены.
Это. Держите его таким, какой у вас есть.
Лично мне легче хранить подобные вещи в одном файле, просто для удобства редактирования меньшего количества файлов в моем редакторе.
Важно сделать
1144952] обрабатывают разные фрагменты кода, как если бы они были в отдельных файлах, поэтому вы можете быть уверены, что сможете тривиально разделить их позже по причинам, которые вы цитируете. Так, например, не вводите зависимости между разными частями, из-за которых впоследствии будет сложно их разделить.
Как пользователь модулей, я очень предпочитаю, когда я могу включить весь модуль с помощью одного импорта. Не заставляйте пользователя вашего пакета выполнять многократный импорт, если нет какой-либо причины, позволяющей импортировать разные альтернативы.
Кстати, нет причин, по которым один модуль не может состоять из нескольких исходных файлов. В простейшем случае можно использовать файл __ init __. Py для простой загрузки всего остального кода в пространство имен модуля.
Конечно, у вас может быть столько модулей, сколько захотите.
Но теперь давайте немного подумаем, что происходит, когда мы помещаем каждый небольшой фрагмент кода в один файл.
В любом менее тривиальном модуле мы получим сотни операторов импорта. И, конечно, вы также можете немного сэкономить, разместив все явное в отдельных файлах. Но угадайте, что: никто не может запомнить так много имен модулей, и вы все равно можете найти нужный файл ...
Я пытаюсь объединить вещи, которые принадлежат друг другу, в один файл (если он не станет слишком большим!). Но когда у меня есть небольшие функции или классы, которые не принадлежат другим компонентам в моей системе, у меня есть модули "util" или тому подобное. Я также пытаюсь сгруппировать их, например, по слоям моего приложения или разделить их другими способами. Одним из критериев отделения может быть:
Для сценариев командной строки, скорее всего, не будет большой разницы, если каждый вызов не вызывает все файлы в модуле, и в этом случае будет небольшая потеря производительности, так как нужно открыть n файлов, а не one.
Для mod_python, скорее всего, не будет никакой разницы, так как байт-скомпилированные модули остаются активными в течение всего процесса apache.
Однако для движка приложений Google будет снижение производительности, если служба не используется постоянно и "горячий", поскольку каждый холодный запуск требует открытия всех файлов.