Die meisten Anwendungen erfordern eine externe Konfiguration. Sie können dies ausblenden, indem Sie es von magischen Variablen abhängig machen oder an einem internen Ort speichern. Dadurch wird die Notwendigkeit jedoch nicht beseitigt. Ziel ist es zu erkennen, was extern sein soll und was intern sein kann. Es können nur die Innenteile geprüft werden.
Eine Anwendung sollte nicht darauf vertrauen, dass eine externe Konfigurationsdatei korrekt ist. Es sollte die Richtigkeit überprüfen und Fehler melden. Wenn die Anwendung die Konfigurationsdatei nicht überprüfen kann, machen Sie wahrscheinlich zu viel damit. Wenn die Konfigurationsdatei das Verhalten der Anwendung ändert, sollte sie meiner Meinung nach nicht extern sein.
Beispielsweise kann ein Datenbankbenutzername / -kennwort von der Anwendung leicht überprüft werden, indem versucht wird, eine Verbindung zur Datenbank herzustellen. Wenn dies fehlschlägt, kann es dies melden, und es ist offensichtlich kein Fehler im Anwendungscode. Ebenso können für einen Dateipfad die Existenz- und Zugriffsrechte überprüft werden.
Wenn Sie nun SQL-Abfragen in die Konfigurationsdatei einfügen, kann die Anwendung die Richtigkeit dieser Abfragen nicht einfach überprüfen. Gleiches gilt für eine vollständige Abhängigkeitsinjektionsspezifikationsdatei (a la Java-Spring XML). Diese sollten sich nicht in externen Konfigurationsdateien befinden.
Aber wenn die angegebene Konfiguration etwas Externes beschreibt und Sie schnell die Richtigkeit überprüfen können, glaube ich nicht, dass mit externen Konfigurationsdateien etwas nicht stimmt.
Bearbeiten: Stellen Sie außerdem sicher, dass in Ihren Fehlerberichten angegeben ist, welche Konfigurationsdatei verwendet wird. Nichts ist frustrierender, als herauszufinden, dass Sie nach stundenlangem Versuch, herauszufinden, was daran falsch ist, die falsche Datei angesehen haben.