「Convention over Configuration」

ひがやすをblog」より

韻をふんでいていいキャッチフレーズ:-)。
自動設定Struts」を作ったのも「名前付けルールが決まっているのに、なんでわかりきったことをいちいちstruts-config.xmlに書かなきゃいけないんだよー」というのが動機。Strutsのよくある説明では「ページ遷移情報をstruts-config.xmlという設定ファイルで集中的に管理しているので、それらを変更したい場合でも再ビルドは不要でstruts-config.xmlを書き換えるだけでよく、その結果変更が容易になる」ということなんだけど、今までStrutsのアプリケーションをいくつも作ったけどそれらページ遷移情報を変更することなんてほとんどなかったし、運用に入ってしまえば容易に変更されちゃあ困るし。
それよりも「設定をXMLでいちいち書くのめんどくせー」とか「2人で同時に修正しちゃうとコンフリクトしてうざい」とか「アクションクラスを修正して、JSPを修正して、struts-config.xmlを修正して…、あーややこし」とか、struts-config.xmlの弊害が気になりつつあった。で、今の案件で「自動設定Struts」を実戦投入しているんだけど、名前付けルールに従ってアクションやJSPを作成すれば自動的に結び付けられるというのは快適だし周りにも好評。
設定ファイルでいろいろ設定できますよって自由度を増やすより規約で縛って自由度を減らしたほうが、判断しなければならない項目が減るし属人性も下がるので品質や理解容易性が高まるんじゃないかな。