Index: [Article Count Order] [Thread]

Date:  Mon, 22 May 2000 09:23:22 +0900
From:  Sugisaku Nakao <sugisaku.nakao@....jp>
Subject:  [XP-jp:00377] 【 22. You're NOT gonna need it(YAGNI) 】 (再掲 )
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <39287DF6174.1484SUGISAKU.NAKAO@....100>
Posted:  Mon, 22 May 2000 09:23:18 +0900
X-Mail-Count: 00377

日本フィッツの中尾です。

再掲です。

---
【いずれ必要には「ならない」!(YAGNI)】

クラスを実装しているとき、あなたは「いずれ必要になる…」と言っている自
分に気づくでしょう。

その衝動は必ず抑えましょう。実装はそれらを<実際に>必要とするとき行い
ます。決してそれらを必要とするだろうと<予測>するときではありません。
理由この通りです :

 ・あなたの思考は本筋から外れています。あなたはクラスのあるべき姿では
 なく、そうなるかもしれない姿を思い浮かべています。あなたがそのクラス
 を作り始めたとき、あなたには使命がありました。一瞬たりとも気をそらさ
 ず、その使命を遂行しましょう。
 ・あなたの時間は、貴重です。ただコードをたたき出すだけではなく、実際
 のタスクがどのくらい進んでいるのか感じ取るセンスを磨きましょう。
 ・あなたは結局それを必要としないでしょう。そうなった時、あなたがメソ
 ッドを実装するのに費やした時間は無駄となります。後に他の人がそれを読
 むのに費やす時間も無駄になります。そのコードが使うスペースも無駄にな
 ります。

あなたは、あるインスタンス変数のために getメソッドを必要となる事が分か
りました。結構です。書きましょう。しかし「いずれ必要になるから」といって、
set メソッドを書いてはいけません。「いずれ必要になるから」といって、ほか
のインスタンス変数のgetメソッドを書いてもいけません。

迅速にコードを実装する最も良い方法は、実装する量を減らすことです。バグ
を減らす最も良い方法は、実装する量を減らすことです。

いずれ必要には「ならない」からです!
---
オリジナル http://www.xprogramming.com/
Copyright (c) 1999, REJeffries et al. (ronjeffries@....org)


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
日本フィッツ(株) 情報技術研究所
 中尾 杉作
e-mail: sugisaku.nakao@....jp
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=