Ответ 1
Мне кажется маловероятным, что вы use
задействуете все 100 модулей непосредственно в своей основной программе. Если ваша программа использует функцию в модуле A, которая затем вызывает функцию из модуля B, но сама основная программа не ссылается ни на что в модуле B, тогда программа должна только use A
. Он не должен use B
, если он напрямую не называет ничего из модуля B.
Если, с другой стороны, ваша основная программа действительно разговаривает напрямую со всеми 100 модулями, то она, вероятно, просто слишком большая. Определите различные функциональные группы в программе и разбейте каждую из этих групп на свой собственный модуль. Основная причина для этого заключается в том, что это приведет к тому, что код будет более удобным, гибким и многоразовым, но он также будет иметь счастливый побочный эффект для сокращения количества модулей, к которым напрямую обращается основная программа, вниз по числу операторов use
, требуемых в любом месте.
(И да, я понимаю, что 100, вероятно, было преувеличением, но если вам становится неудобно о том, что количество модулей use
d по вашему коду, то это обычно указывает на то, что код в вопрос пытается сделать слишком много в одном месте и должен быть разбит на набор модулей.)