Convention over Config or Corner - Cutting

"Convention over Config"(以降CoCと略す)はRailsが提唱する「設定よりは規約を重視」というキーワードだが、すっかり業界の流行り言葉として定着しつつあり、至るところで使われている。特に、工数の投資無しにEoDを歌える魔法の言葉っぽいところもあり、なるほど確かに楽ができそうなので、かくいう私も取り入れてみようと画策している最中だったりする。
CoCを一番簡単に実装できる部分は、例えば各種設定ファイルのファイル名を"決め打ち"したり、オブジェクトの初期値に"既定値"を設定するような所だ。DIコンテナであれば、生成されるコンポーネントのネーミングルールを予め決めておくこともいいだろう。そして、これらを規約と称して、皆で守ることで余計な実装がいらないし、開発が楽になりますよ、と歌う訳だ。

一方、"Corner - Cutting"(以降C-Cと略す)は、いわゆる手抜きを指すワードだ。ドキュメントを書き始めて思ったことだが、CoCはその規約をドキュメントで明確に歌い、なおかつチュートリアルやサンプルでCoCを体現できるようにしておかないと、意味をなさないどころか、使う側からは開発者側のC-Cとして受け取られてしまうのではないだろうか。