CoCと保守性


もしかしたら両立しないかも。

コードがIDEで簡単に終えるってのはメリットだし、規約では暗黙知になってしまいがち。

と、Crazybobさんに言われてしまいましたw

たしかに、可視性・追跡可能性は、コードに明示的に書いてあるほうが高い。

protected void configure() {
  bind(Service.class).to(ServiceImpl.class).to(Scopes.SINGLETON);
}


一目瞭然。

ただしデメリットとして、大量にある場合には何かの対処が必要になりそう。

ひたすら書くのかなあ。それはちょっと避けたい。

一方、規約は俯瞰したときの一貫性というか見易さは圧倒的に高いと思う。

しかし個別で調査しだしたときに、規約の詳細をどこまで知っているかがポイントに

なりがちになると規約ベースが不利になってしまう。


また、例えばドキュメントにきちんと記載したときの覚えやすさは

規約のほうがあると思うけど(全部詳細にドキュメントに書きすぎて探せないみたいなの

よくあるし^^;)、そもそも直感的で覚えやすい規約はドキュメントに書かなくても

ある程度わかるべきかも。


規約は最小限のわかりやすい構成にしておいて、そこから先に何を適用するのか、何が良い選択肢か、

これが最近の考えていることです。

CoCベース、でもCoCドリブンじゃないところが良いポジションなのかも。