Index: [Article Count Order] [Thread]

Date:  Wed, 21 Nov 2001 09:15:24 +0900
From:  "渋川よしき" <shibu@....jp>
Subject:  [XP-jp:02825] Re: XP に関する誤解
To:  <extremeprogramming-jp@....jp>
Message-Id:  <000901c17221$9dbd2330$d100a8c0@petit>
In-Reply-To:  <20011120143133.0EAB.UME@....com>
X-Mail-Count: 02825

渋川@東工大です。おはようございます。

シンプルなコードに関して僕の意見ですが・・・

> XP Explored(Wake本)にも以下のような説明があります。
> Chapter2 リファクタリングについての章。(p.29)
   :
> XP的にはとにかくテストが通るということが重要で、その次が意図、
> さらに重複なし、最小限の要素へと続いていきます。

これに関連して、「テストがしやすいコード」というのがシンプルなコードだと
思います。テストがしやすい、というのは内部のロジックが適度な粒度でメソッ
ドごとにまとまっている、というのもあると思いますが、テストコードがシンプ
ルでわかりやすい、というのが大切だと思います。

例えばオブジェクトの責任分配がうまくいっていなければ、クラスごとのテスト
コードの長さとか量もバラバラになってしまいますし、テストすべきロジックが
独立しておらず、大きなメソッドの奥深くにある場合などはテストコードも少々
トリッキーになります。テストコードがシンプルというのはつまるところ、クラ
スのインターフェースがシンプル&意図を伝える以外の余計な部分が少ないとい
うことになると思います。

ソースコードの長さに関してですが、リファクタリングの中にはソースコードが
明らかに長くなるのもありますよね?例えば条件記述の分解(翻訳版・P238)と
か、クラスによるタイプコードの置き換え(P218)とか。僕が好きなのは条件記述
の分解だったりするわけですが、短い=シンプル、という定義からすれば改悪、
ということになってしまいます。

# 一応、「長さ≠シンプルさの基準」という議論に
# なっていますが・・・

-----

東京工業大学 電気電子工学科 3年
_/_/_/  しぶかわよしき    JA6HFA/1
_/      mailto: shibu@....jp / ja6hfa@....jp