ひがやすを技術ブログ

電通国際情報サービスのプログラマ

規約ベースのフレームワークのほうが覚えることが増える?

設定の記述量を減らす→規約ベースになる→覚えないといけないことが増える(ように見える)、という図式ですね。ただ、規約がないF/Wでは設定を記述するための書式を覚えないといけないので実は覚えないといけないことの量は大して違いはないのかもしれませんが、設定はIDEプラグインなどによって補完可能だけれども規約は補完されにくいため、結局は規約ベースのF/Wの方が覚えないといけないことが多くなるという気はしています。

よく規約を覚えるのが大変と言う意見を見ますが、規約は、規約ベースのフレームワークを使う使わないに関わらず(ほとんどの場合)必要です。一人で開発していれば別ですが、複数の人数で開発している以上、規約を守って開発する必要があると思います。
各プロジェクトごとに、規約を考えて、それをいちいちソースコードや設定ファイルに書くのは、大変なので、あらかじめ妥当だと思われる規約をフレームワーク側で決めておくので、それを守っていればソースコードや設定ファイルを書かないくても良いですよというのが、最近の規約ベースのフレームワークの基本的な考え方です。
それにたいていの規約ベースのフレームワークは、独自の規約にカスタマイズできるようになっていますし、そもそも規約を決められないというなら、自由にソースコードや設定ファイルを書くこともできます。たとえば、Teedaだって、JSPにいろいろ設定を書きたい、faces-config.xmlをばりばりかきたい、もちろんOKです。Seasar2でも全部XMLファイルに書きたい、もちろんOKです。
なにも記述していないのに、全部自動的に処理されて不安という気持ちもわかりますが、せっかくコンピュータを使っているんだから、楽できるのは楽をすればというのが私の考えです。
後、Seasar2の場合は、規約もIDE(Dolteng)が補完します。最初からIDEで補完しやすいように規約が設計されているのです。