Вопрос проверяет архитектурное мышление и умение выбирать место хранения параметров с учётом гибкости, безопасности и стоимости изменений.
Выбор зависит от того, как часто параметры меняются и кто ими управляет. Статичные правила обычно хранятся в коде. Параметры, которые могут меняться без деплоя, выносят в конфигурацию или базу данных. Чем чаще изменение и выше влияние на бизнес, тем важнее управляемость и контроль.
Параметры бизнес-логики — это значения, влияющие на поведение системы, но не являющиеся самой логикой.
Перед деталями важно зафиксировать базовый вопрос:
кто, как часто и с каким риском должен менять это значение.
Подходит, если:
Значение меняется редко
Требует ревью и тестирования
Жёстко связано с алгоритмом
Примеры:
базовые коэффициенты
правила округления
алгоритмические константы
Подходит, если:
Значение меняется без деплоя
Различается между окружениями
Не требует сложной валидации
Примеры:
лимиты
таймауты
флаги включения логики
Подходит, если:
Значения управляются бизнесом
Нужна история изменений
Параметры зависят от сущностей
Примеры:
тарифы
комиссии
персональные ограничения
Код — требует релиза
Конфиг — риск рассинхронизации
БД — сложнее тестировать и кешировать
Нет универсального места хранения. Чем ближе параметр к бизнесу и изменениям — тем выше вероятность, что ему место в конфигурации или базе данных.