Всем привет!
Я часто вижу в проектах лишние настройки. Они попадают в проект следующими путями:
скопировали из каркаса\работающего сервиса не задумываясь - нужны ли эти настройки. Да, принцип "работает - не трогай" встречается и у разработчиков)
решили явно прописать какие-то настройки, для надежности
Я считаю, что так делать не надо. Почему?
лишние настройки раскрывают лишние детали, которые или не нужны, или нужны, но не сейчас. Повышается когнитивная сложность кода. Знать все детали своего сервиса - это хороший подход, был, лет 10-20 назад. ПО очень сильно развилось в плане специализации, количество зависимостей среднего проекта - несколько сотен, поэтому знать все детали просто невозможно
следствие из сказанного выше - ухудшается читаемость кода. Моя любимая тема) Мы чаще читаем код, чем пишем. Настройки тоже часть кода
среди скопированных настроек могут быть не нужные в данный момент. Код легко меняется, ТЗ - тоже, поэтому добавлять что-то "на вырост" не стоит
настройки со временем могут превратится в некий аналог "большого кома грязи", который будут боятся трогать. Как разработчики, так и сопровождение. Чтобы этого не допускать - настройки нужно чистить. Чтобы меньше было чистить - не нужно добавлять лишнее
А вообще есть такой хороший принцип - convention over configuration. Тоже моя любимая тема) Принцип говорит о том, что должны быть настройки по умолчанию, устраивающие большинство потребителей. Эти настройки потребитель не задает явно, они уже заданы.