矢崎です。リプライありがとうございます。
石井 勝 さんwrote:
> 石井です.
> Simplicityについてですが,
>
> > 2.柔軟性を考慮しなくても、後からそれが必要になったときに、
> > Refactoringなどを行って柔軟性を確保することができるように
> > なる。よって、Simplicityとは、必要になるまでは柔軟性を考慮
> > しない(それが必要になったらする)。
>
> 僕はXPを調べたときこっちだという印象を受けました.
> というか,柔軟性という単語にひっかかるのですが,現在の仕様
> (テスト)に対してもっとも簡単なものであればよい,ということでしょう.
> 現在の仕様がMVCを求めるものであればそうするでしょうし,求めない
> ならMVCを使うのはoverkillということではないでしょうか?
>
> Simplicityについては,柔軟性うんぬんより Communication
> とOnce and Only Once が基本だと思います(XP本のP109).
> この2点については,Kent Beckの"Best Practice Patterns"
> でも強調されています.
>
109ページには、次のようにまとめられていますね。
Simplestとは、、、
1.システム(コードとテストの両方)が、あなたがコミュニケ-トしたい全て
のことをコミュニケートしなければならない。
2.コードの重複を含んではならない
#1と2をあわせて、Once and Only Once ruleと呼ぶ。
3.可能な範囲で少ないクラスであること。
4.可能な範囲で少ないメソッドであること。
3、4については**ちょい疑問**ですが(解釈まちがってます?)、1、2に
ついてはAgreeですね。私としては、(もちろん1も絶対なのですが)2につ
いてはSimplestの設計上の絶対条件としてとらえたい気がします。
#つまりは、重複のあるコードはSimpleではない。。。。。
--
矢崎博英 firo@....jp