保守も、Convention over Configuration

「設定より規約」は、Ruby On Railsの専売特許ではない。全ての「変更の可能性がある項目」を設定として外出ししたために、とんでもなく複雑な手順が必要になったクライアント・サーバー型のシステムを見たことがある。ボタンの位置やその色なんてそんなに変わるものじゃないよ。
また、環境が複数(本番環境・テスト環境など)ある場合、環境依存項目は、極力設定ファイルに持たないよう規約を工夫しよう。ちょっと複雑なプログラミングが必要になっても、運用がシンプルになるほうがずっと安くつく。自動的に取得できる項目を設定ファイルに持つのは注意が必要だ。設定時にミスを招く可能性がある。もちろん、設定を変えると動かなくなってしまうような項目は外出ししても意味がない。
システムを長い期間保守するとわかるが、ほとんどの設定はまったく変更されない。また、保守する人が変わると、設定の詳細も忘れられる。そんな時に安全に動き続けるのは、規約と自動化によって支えられた仕組みを持つシステムだ。シンプルな運用の実現は、システムの目標として最初から検討しておくのに値する。