赤坂です。
川俣さん、ご意見ありがとうございました (^o^)/~
Akira Kawamata <autumn@....jp> san wrote:
> XP**未経験者**の川俣です。
# 別に訂正なさらなくとも (^^;;
> > XPでは今分かっているものを、シンプルに実現することに注力する訳ですけど、
> >
> > シンプル ≒ 自然な役割分担
> >
> > と考えてよいのだとうと思います。
> 個人的な感想から言うと、「自然な役割分担」と思う状態は個人によって差が
> あって、誰もが曖昧さなく納得するのは難しいような気がします。「シンプル」
> というのは、「重複がなく、これ以上リファクタリングすべきコードが残ってい
> ない」と言い換えれば、達成したかどうかが誰でも同じ基準で納得できるような
> 気がします。
確かに、自然な役割分担には主観が入りますね(個人差がありますね)。
実装するペアの達成目標としては「重複がなく、これ以上リファクタリングすべ
き─(snip)─が残っていない」の方が分かりやすく納得できるでしょうね。
> そういう意味で、チームによる共同作業の目標として、「シンプル」は目標に
> できるけれど、「自然な役割分担」は難しいような気がします。
> 実は、一人でプログラムを書いていても、「自然な役割分担」についての複数
> の解釈に悩まされる事態があるので、それを考えることを放棄して、シンプルだ
> けに集中する方が楽です。まあ、これはあくまで個人的な経験に過ぎませんが。
>
> (でも、本当はリファクタリングも完全に客観的ではない部分があったりする
> ような気がしないでもないけれど……^^;)
例えば、川俣さんのおっしゃる「シンプル」を目標にして実装を行い、その実装
に対して「自然な役割」になっているかをチェックするということで良いのでは
ないでしょうか?
ひとつ思うことは、
その「シンプル」は、結果として「自然な役割分担」になっているはず
ということで、これらの結果が一致しない(許容範囲内に収まらない)ことがある
なら、そのシンプルは使い物にならないということです。
# もう一段、上のレベルでシンプルを求めないとダメだと思います。
ではでは。
--
赤坂 英彦 (Hidehiko AKASAKA)
akasaka.h@....com