Re: Несколько вопросов вразброс
Артём Н. -> debian-russian@lists.debian.org @ Sun, 24 Jun 2012 21:26:10 +0400:
АН> Небольшой вопрос по скриптам.
АН> Если у меня есть функция, которая требует много параметров, напрямую с ней не
АН> связанных (т.е., к примеру, она вызывает вложенные функции), нормально ли это -
АН> использовать глобальные "константы"?
АН> Т.е., они, вроде как, не совсем константы: один загружаются, при чтении конфига,
АН> после чего не меняются.
АН> Плохо соображаю и не могу выбрать.
АН> Минус - при их использовании, увеличивается связность.
АН> Плюс - мне не нужно передавать в функцию 100500 параметров.
АН> А если мне нужно протестировать функцию, я всегда могу их заменить...
АН> И не нужно передавать кучу слабосвязанных параметров.
АН> Вообще, как правильно?
Если именно из конфига, то правильный подход - иметь один вход для
параметров, прочитанных из конфига. Там, где в языке есть встроенные
хэши, обычно удобнее хэш, где нету - специальную функцию, которую можно
позвать с именем параметра, а она вернет значение.
С точки зрения программы параметры, прочитанные из конфига - константы,
и их лучше не передавать, но лучше оформить обращения к ним так, чтобы
было видно, что это параметр из конфига, а не мировая константа.
Если же надо передавать их в библиотеку, которая ни сном, ни духом о
конфиге, то в библиотечные функции и передается эта единая точка входа в
конфиг.
Reply to: