思いついたのでメモ。
フレームワーク、特に自動生成や動的生成なんかを作る時に
「これは簡単な所だから、自動生成してあげよう」とする事がある。
これは要注意。
それが簡単でなくなった瞬間、利用者の手と頭が止まる。
どこを見れば良いのか、さっぱり分からなくなる。
たとえば、
Action → Serviceの呼び出しの自動生成君がいて
ActionからService#doService(ActionForm)を呼び出すと、
Service#doService(Dto)が呼び出されて、
途中のActionForm → Dtoの変換は、自動でDxoがやってくれる、
なんて奇妙奇天烈なフレームワークを作ったとしよう。
すべて自動で出来るうちは良い。
ちょっと特殊な変換を行おうと思った瞬間に、手と頭が止まる。
だから、こんなフレームワークは作っちゃいけない。
たとえ一行で済む記述であっても、
Dxoを呼び出す所は、手で書かせた方が良い。
つまり、自動生成や動的生成は、
「簡単だけど、量が膨大にあって煩わしい」
という所に適用させなきゃいけない。
たまにフレームワーク開発者は、このバランスを崩すので、要注意。
たとえば、DIの仕方とか、ね。