久々に参加できそうなので、記入させていただきました。
小井土@オーエスケイです。
#長い間ROMしていました。
> > そう、私も疑問に思っています。あまり厳格に決まっていないのでしょう。私
は、テ
> > ストも refactor の対象だと思っているので、きれいにするために helper 的な
コー
> > ドを追加することは必要だと思います。システムに対する YAGNI は、違反して
いま
> > すが、テストに関しては、(今テストコードをきれいにするために必要だから)
違反
> > していないと思っています。
>
> 現時点では、私は、テストのためだけのメソッドを追加することは
> 反対の立場です。ただ、これは確固たる信念、あるいは理論武装
> があってのことではなくて、直観的なものです。もしかしたら明日
> には逆の意見を持っているかもしれません。
>
> 本家のほうでは何か意見があるのでしょうか?
>
> あるいは、このMLのメンバの意見もうかがってみたり、議論してみ
> たいですね。
私は、矢崎さんに賛成です。
私は、テストとクラスは独立したものであることが重要だと考えます。
依存関係的には、テスト->クラスであって、この関係は物理的にも論理的も
崩すことはよくないと考えます。
テスト専用のメソッドを追加することは、この関係を論理的に壊していることに
なるからです。
C++のようなコンパイラでは良く、デバック版とリリース版とわけてテスト用のメ
ソッドを
クラスに組み込むことは良くやっていますが、これではリリース版ではテストができ
な
いことになるのでXP的には論外と思います。
しかし、インスタンスに自分の状態をチェックするメソッドなどは、必ずしもテスト
のため
だけとは言えないので、OKということもありだとは思います。
いかがでしょうか。