若い開発者が、1つの業務プログラムの新担当を任された。 この業務の処理手順は、数年ごとに多少の変更が入り、今回も、その対応が彼の仕事だった。 彼が、前任者が作ったソースを開いてみると、それはごく単純に業務手順書をプログラムに置き換えたようなもので、 固定値がそのまま文中に記述(マジックナンバー)されていたり、お世辞にも格好いいとは言えないものだった。 彼は考えた。「数年ごとに変更があるのがわかってるんだから、もっと変更に柔軟に対応できるようにしておくべきだ!」 そこで彼は、様々な決まり事や数値を一切固定で埋め込まず、あらゆる項目を外部の設定ファイルで変更できるようにした。 プログラムは完成し、彼は運用者と次の後任者に自信満々で言った。 「今後は、業務手順に変更があっても、プログラムをビルドし直す必要はありませんよ!設定ファイルで設定を変えるだけでOKです!」 さて、その数年後、実際に業務手