石橋"rubyholic"秀仁といいます。
From: "Ken N." <kenn@....nu>
Subject: [XP-jp:00410] Re: Refactoring
Date: Sat, 27 May 2000 14:39:15 +0900
> In <B5557156.18EC%khosokawa@....com> (May.27 2000 13:05 JST),
> ``[XP-jp:00408] Re: Refactoring Was: Re: 【 4. Code Formatting 】 (案)'',
> khosokawa@....com says:
> = なるほど。納得、納得。
>
> 「removeすべきStepを選択してremoveする」という処理から、「ある
> Stepをremoveする」という汎用的な処理が括り出されていますね。ま
> た、その「あるStep」というのが満たさなくてはいけない条件も明解
> になっています。
Testing Framework (RubyUnit) を使っていて「条件も明解になって」
というのを実感しました。XPractices に「テストがあるから
アグレッシブになれる」と書いてあったと思います。その通りに、
ガンガン refactoring をしているうちに気がついたことがあります。
次第にコードのなかに適切な条件が追加されていくし、条件が厳しく
なっていくんですね。それも自然に。テストでしかられるたびに
コードを修正していると、どんどん条件が厳密になっていきます。
プログラミング楽しいなあ、と改めて感じました。一番退屈な
例外処理に頭を使わなくていいから、というのが理由かな。
でも、オブジェクト (クラス) の責任が変わるような変更は、
けっこうつらいですね。とくにテストを書き直すときが。
コードをいじらず、テストをいじって動くように修正しているとき、
すこし罪悪感を感じます (^^;
以上、初心者の意見でした。
# 最近の自作のフリーソフトにはテストコードが入ってます :-)
--
Hideto "rubyholic" ISHIBASHI
http://www.rr.iij4u.or.jp/~hideto-i/
blade clone (yaiba) development:
http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/index.html