Index: [Article Count Order] [Thread]

Date:  Sat, 27 May 2000 23:22:44 +0900
From:  Hideto ISHIBASHI <hideto-i@....jp>
Subject:  [XP-jp:00411] Re: Refactoring
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <20000527230035Q.hideto-i@....jp>
In-Reply-To:  <200005270538.OAA29534@....nu>
References:  <B5557156.18EC%khosokawa@....com>	<200005270538.OAA29534@....nu>
Posted:  Sat, 27 May 2000 23:00:35 +0900
X-Mail-Count: 00411

石橋"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