Я попробую, моя философия такова:
1 - Сохраняйте конфигурационный файл и класс / функцию синтаксического анализатора, которые чрезвычайно глупы и максимально просты, чтобы дать вам душевное спокойствие, что всякий раз, когда вам что-то нужно из этого, вы можете получить это без необходимости создавать смехотворно перегруженный XML хруст парсера конфигурационных файлов. Мой конфигурационный файл выглядит так:
DBHostname -> XX.XX.XXX.XX
DBUsername -> foomonger
DBName -> fooDb
DBPassword -> xxxxx
ImageUploadsDir -> /uploads/images/
...
Я извлекаю из него все, что мне нужно, используя статический вспомогательный метод (маленькие приложения) или одиночный экземпляр (большие приложения, управляемые MVC), сгенерированный моим другом-идиотом ConfigHelper, который настолько глуп, что не знает, как генерировать накладные расходы.
У меня возникает эта дилемма несколько раз в течение моего среднего рабочего дня: я должен поместить это в config.txt или сделать его константой класса? Мой ответ - я просто не знаю - пока намного позже. Если окажется, что его нужно было поместить в конфигурационный файл, ничто не сравнится с достойной IDE со стабильной реализацией 'Find & Replace In Projects' для смены ссылок.
3 - Конфигурационные файлы избавляют от кошмаров при развертывании приложений, когда разработка включает в себя тестирование сервера, а затем развертывание в производство - реальной практической альтернативы нет. Я понимаю, что разные экземпляры базы данных на разных компьютерах имеют разные IP-адреса в мире.
Одним из многих примеров является написание HTML-кода для веб-сайта вручную по сравнению с тем, как программа его автоматически генерирует
Это так верно. Хотя нам, как разработчикам, нравится создавать машины, мы, как правило, тратим много времени на сборку машин, чтобы создать машину, которую мы изначально собирались построить. Хотя это может быть чрезвычайно приятно, из своего опыта я могу сказать, что в большинстве ситуаций, чем больше у вас машин, чем больше систем вы должны поддерживать, тем больше точек отказа, тем больше хлопает рука от владельцев бизнеса - и это не весело. Кроме того, вы будете склонны сталкиваться с ситуациями, когда промежуточный генератор HTML не может дать желаемый результат. Так что же делать, тратить время на исправление ошибки в генераторе, тратить время на разработку обходного пути вуду или просто писать вручную HTML-код? Это действительно зависит от конкретных обстоятельств, но я предпочитаю последнее.
Было немного напыщенно, но надеюсь, что это помогло ответить на ваш вопрос, хотя бы немного.