1回変換原則
ソフトウェアの実装をデザインする上で 一番大事なことってなんだろう、と考えた。
もちろん、世の中には、KISSとかSRPとかDRYとかあるわけですが、もっと具体的で簡単なのはないかな、と。
(この3つが全部wikipediaにあるのはちょっとびっくり)
で、自分なりに出した結論がこれ。
外からもらったデータは必ず一回(そして一回だけ)変換する。
説明。
まず、前提として、「外」ってのはユーザーの入力だとかファイルとかってことではない。
これは、デザインの単位のことで、一般的にはモジュールとか、パッケージってことになると思う。(クラスだとちょっと粒度が小さすぎかも)
で、「一回だけ」変換ってのはだれもが同意してくれると思う。
デザインセンスがない技術者でもパフォーマンスのことは気にするしね。
問題は「必ず一回変換」ってことなんだけど、これは、データの変換をかますと、
インタフェースの境界ができる、ということで、これが本当に言いたいわけ。
分割して統治せよ、とか、モジュールわけしろ、とかただ言うよりも
こっちのほうが具体的でよくないかな?