1回変換原則

ソフトウェアの実装をデザインする上で 一番大事なことってなんだろう、と考えた。

 もちろん、世の中には、KISSとかSRPとかDRYとかあるわけですが、もっと具体的で簡単なのはないかな、と。
(この3つが全部wikipediaにあるのはちょっとびっくり)

で、自分なりに出した結論がこれ。

 外からもらったデータは必ず一回(そして一回だけ)変換する。

説明。
 まず、前提として、「外」ってのはユーザーの入力だとかファイルとかってことではない。
これは、デザインの単位のことで、一般的にはモジュールとか、パッケージってことになると思う。(クラスだとちょっと粒度が小さすぎかも)

で、「一回だけ」変換ってのはだれもが同意してくれると思う。
デザインセンスがない技術者でもパフォーマンスのことは気にするしね。

問題は「必ず一回変換」ってことなんだけど、これは、データの変換をかますと、
インタフェースの境界ができる、ということで、これが本当に言いたいわけ。

分割して統治せよ、とか、モジュールわけしろ、とかただ言うよりも
こっちのほうが具体的でよくないかな?