設定ファイル

よくプログラム内にリテラルとかマジックナンバーを書かないように,などといいますが,ではそれをconst(readonly)で書けばいいのか,設定ファイルに書けばいいのかというと,そう単純なことでもない気がします.
たとえば設定ファイルに書くことにして,その中身は自由に書き換えられますとか,システムを柔軟に構築できますとかいっても,実際にそれを誰が編集するのでしょうか?かりにそのシステムを知り尽くしている開発者といえども,実運用に入ったシステムの設定を変えるのってとても勇気のいることだと思います.まして普段管理しているオペレータの方には,それを変えるのはたぶん無理だと思います.
運用マニュアルがあれば大丈夫でしょうか?でもこの手のマニュアルは納期に追われてユーザレビューもろくに行わずに作られたものがほとんどではないでしょうか?実際に役に立っているとはとても思えません.
設定ファイルのどこが問題なのか考えると,設定を変更した結果が事前に分からない(想像することはできても)ことだと思います.なので,現在手がけているシステムではプレビュー機能を充実させようと思っています.今日のユーザレビューで「ちょっと凝りすぎじゃない?」って指摘を受けたけど,こんなところから少しずつユーザ体験を向上させたいと考えています.