谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

簡単に書けることでも、書かせること。

思いついたのでメモ。


フレームワーク、特に自動生成や動的生成なんかを作る時に
「これは簡単な所だから、自動生成してあげよう」とする事がある。
これは要注意。


それが簡単でなくなった瞬間、利用者の手と頭が止まる。
どこを見れば良いのか、さっぱり分からなくなる。


たとえば、
Action → Serviceの呼び出しの自動生成君がいて
ActionからService#doService(ActionForm)を呼び出すと、
Service#doService(Dto)が呼び出されて、
途中のActionForm → Dtoの変換は、自動でDxoがやってくれる、
なんて奇妙奇天烈なフレームワークを作ったとしよう。


すべて自動で出来るうちは良い。
ちょっと特殊な変換を行おうと思った瞬間に、手と頭が止まる。


だから、こんなフレームワークは作っちゃいけない。
たとえ一行で済む記述であっても、
Dxoを呼び出す所は、手で書かせた方が良い。


つまり、自動生成や動的生成は、
「簡単だけど、量が膨大にあって煩わしい」
という所に適用させなきゃいけない。


たまにフレームワーク開発者は、このバランスを崩すので、要注意。


たとえば、DIの仕方とか、ね。