Avatar
多分反応を見るに,単に私が Kuniwak さんのこの発言の意味を正しく理解できていないだけだと思うので,一旦発散しそうなので出直してきます... (特にここで出てくるバリデーションとかテストのイメージ (具体例) が多分食い違った状態で議論しちゃった気がします)
手間がかかるのは逆の意見ですね。値空間にクラス不変条件を満たさないものがあるとき、クラス不変条件をあてにしているすべてのメソッドで防御のためのバリデーションの分岐を入れる必要が出てきます。余計な分岐が入るとテストケースが増えてテストのコストが上がります。またこのバリデーションの分岐の異常系にはいる原因はコンポーネント間の仕様の不整合か実装のバグで、いずれもその時の挙動を決めないといけなくなります。実装のバグや仕様の不整合を考慮した仕様を考えるわけでかなり不毛です
(edited)