Предположим, что есть функция, которая требует настройки конфигурации в качестве входа, но эта функция вызывается на несколько уровней глубже от основной функции верхнего уровня.
Как лучше, с точки зрения лучшегопрактика программирования, чтобы передать эту настройку в функцию?
Один из способов - просто использовать глобальную переменную и установить ее в функции верхнего уровня и прочитать ее в целевой функции, но я предполагаю, что это считается плохимпрактика программирования.
Другой способ - передать настройку в качестве аргумента весь путь сверху вниз, через несколько промежуточных функций, вплоть до конечной целевой функции.Это кажется очень утомительным и, возможно, подверженным ошибкам.
Существуют ли другие подходы?
Вы можете использовать свой язык для ответа, но, к вашему сведению, я использую C / C ++, Perl и Matlab.