設定ファイルが下手に高機能すぎて、それに頼りすぎた結果、運用環境が非常に難解になってしまうことがある。そういう設定ファイル地獄のようなシステムができてしまう理由は、開発しているプログラマのレベルが低いからというのではなく(それもないわけではないと思うが)、いくつか他の構造的な理由があると思う。 柔軟性が無条件に良いものだと思っているから ―― コードを変更せずに設定ファイルでカスタマイズできるならそっちのほうがいい設計に決まってるよ、という思い込みのある人が多い。実際には、ベタに書けば簡単なものを設定に出すと複雑になることが多いから、これは事実ではないのだけど。 バイナリのアップデートが面倒だから ―― 運用ポリシーによっては、バイナリの更新はオオゴトだけど設定変更は通常作業みたいな環境がある。そういう環境では、設定にできるだけ多くのものを追い出してインストール後の柔軟性を最大化しようとい