大村です。
"Masaru Ishii" <mishii@....jp> wrote:
from "[XP-jp:00934] Re: テストのためだけのメソッド"
>> ---
>> 「テストのためだけのメソッド」の定義
>>
>> そのメソッドを削除しても、コンパイルエラーが出るのはテストからだけであれば
>> 、
>> そのメソッドは、「テストのためだけのメソッド」である。
>> ---
>>
>> この定義からすると、save() は、テストのためだけのメソッドになります。それ
>か
>> ら、setName() も同じです。現時点では、テストのみで使用されていますから。
>
>Object クラスの toString もテストのためだけのメソッドといってもいいような.
>でも便利ですよね.
>デバッグのためだけにtoStringをオーバーライドする,ということはよくやって
>ますが,皆さんは,こういうもひっかかるんでしょうか?
ObjectのtoString()は、Objectというものを考えたとき、
「String形式の表現が普遍的に必要である」
という洞察から出てきたもので、テストに固有のものではないような気がします。(^^;;
関連して思うのですが、setに対するget、saveに対するloadのような、methodの対称性
によって導かれるmethod群というものがあると思います。
(対称性に限らず)そういう一般原理によって設計をすることで、見通しがよくなると思うのですが、
XPでは、YAGNIによってそういうことはしないんですよね。
なんかもったいないようなきもします。