平鍋です.
> 私もXPに関しては未熟もいいとこですが。
> 私が理解したかぎりでは、良いプログラムと短いプログラムの
> 関係において、記事の筆者の川俣さんの主張は「短いプログラムは、
> 良いプログラムである」というもので、XPの考え方は「良いプログラム
> は、(単純な、無駄のない、)短いプログラムである」というものです。
なるほど.
ちょっと外れますが,折角なので,「シンプルな設計とは」,とい
うことに関して,現在訳が進行中の,Ken Auer の "XP Applied"
から一部引用します.
18章 シンプルに設計するより.
===
Steve Hayes がこう言っていた。
「すべてのコードにプログラマの意図を表現しよう」という主張
は、これまでに出された XP 本に書かれているもっとも奥深い主張
のひとつだと思う。私は最初、その奥深さをちゃんと認識していな
かった。これを抜きにしてしまうと,「問題の“いちばんシンプル
な”解決策は、1つのクラスだけからなり,重複部分のみがメソッ
ドに括り出されているものだ」ということになるだろう.それ以外
の部分は完全に手続的だ.私が最初に XP のプレゼンテーションを
始めたときには、誰もが“いちばんシンプル”という制約をこのよ
うに解釈していた。大勢の人が私に、「XP は、設計や(カプセル
化のような)すぐれた OO 原理のじゃまになる」と言った。もちろ
んそうではないのだが、これまでの文献からは確かにそういった印
象を受けただろう。「意図を伝える」ということは、ひとつのことを
十分に果たすオブジェクトを作りだす、という意味であることを見
いださなくてはならない。(それによってソフトウェアの意図がよ
り明瞭になるからだ。)「デザインパターンを使う」という意味で
もあり、「モデルをビューから、ビューをコントローラから切り離
す」という意味でもある。そのすべて、そしてそれ以上の意味があ
るのだ。
======
シンプルな設計は難しいですね.オブジェクト分割することによっ
て,「意図の伝達」が容易になる,という点.責務をうまくオブ
ジェクトに分割するという視点.
以上