スレッドメモ
MLやNewsのスレッドをメモする試み。
2003-08-14 (木)
◆ [XP-jp] 責務,変更,シンプル (was Re: 「 An ExtremePro) grammingEpisode 」の翻訳版を
[04584] Akira Kawamata (8/14)
素朴な疑問なのですが。
達成すべき目標が早いペースで変化していくプロジェクトでは、自然なプログラムを書いても、結果として不自然になってしまうということは無いのでしょうか?
[04586] Hidehiko AKASAKA (8/14)
XPでは今分かっているものを、シンプルに実現することに注力する訳ですけど、
シンプル ≒ 自然な役割分担
と考えてよいのだとうと思います。
[04594] Akira Kawamata (8/15)
そういう意味で、チームによる共同作業の目標として、「シンプル」は目標にできるけれど、「自然な役割分担」は難しいような気がします。
[04605] Kenji HIRANABE (8/16)
なるほど.「シンプル」がより「現実的な」基準ということですね.賛成です.
また,どちらの場合でも,「名前」に注目するとその分割,分担が良いかどうか,が見えるというケースが多いと思っています.
「テスト可能性」と「変更に対する追随性」でもって,うまくオブジェクト指向的な「よい設計」を再定義できる気がしています.
old: よい Separation of Concerns = 自然な責務分割 + 強い凝集度 + 弱いカプリング
new: よい Separation of Concerns = 変更を伝播させない分割 + テスト可能な分割
[04608] Hidehiko AKASAKA (8/16)
「シンプル」で、かつ「自然な役割ではない」
というケースを想定できないということです。
[04609] Kenji HIRANABE (8/16)
以前,Kent Beck に矢崎さんが果敢に試みた有名な質問があります.
「ユーザ情報」クラスに「電話番号」がある場合電話クラスを作りますか?