Avatar
Avatar
kebo
一人で開発しているようなものだったらそれで良いと思うのですが,クラス不変条件を破壊してしまう満たさなくなってしまうような変更を禁止もしくは自動検知できない以上は,複数人で開発するプロジェクトだともしそういった変更がもし混入してしまった時にすぐに気づけるようにという意味でも全てのメソッドで防御のための guard 分岐が必要だったり,混入を防ぐためにテストケースも結局必要になるかと思います. その辺はどうお考えですか? (あるいは実は禁止もしくは自動検知の良い手法が存在したりしますか?) (edited)
遅レスです。クラス不変条件が満たさないケースを想定するということは、配列があり count が要素数と一致しないケースを考慮したコードを書くということです。ふつうやらないと思いますし、私はやりたくありません。本来なら配列側のテストで担保されるべきことです。 (edited)