「このXXXは、YYYとしても使える」というようなのを作らない。
・・・こうネガティブなコンテキストで書くと、誰だってそんなことしないと言うだろうし、俺だってそう思ってるわけですが、いざコーディングしている時にふと、「おお!このオブジェクト(プロパティ、変数、なんでも)を使ってこんなこともできるのでは!まさに一石二鳥!」とか思ってノリノリになってたりするものです。少なくとも私はそうです。
が、一人二役とか一石二鳥とか考えるということは、すでに異なる2種類の何かがあるのが明解なのだから、それらはやはり別に設計しておくべきなんだと思います。たとえ、その時点の簡単な実装では同じに見えるオブジェクトでも、いずれは別の役割と振る舞いを持つんだろうと。
0 件のコメント:
コメントを投稿