Index: [Article Count Order] [Thread]

Date:  Sun, 27 Jul 2003 13:22:11 +0900
From:  川端 光義 <kawabata@....jp>
Subject:  [XP-jp:04555] Re: 「 An Extreme  ProgrammingEpisode  」の翻訳版を掲載しました
To:  extremeprogramming-jp@....jp
Message-Id:  <20030727114710.EF36.KAWABATA@....jp>
In-Reply-To:  <3F21F23D.FD43F8A5@....jp>
References:  <20030726085047.778A.AKASAKA.H@....com> <3F21F23D.FD43F8A5@....jp>
X-Mail-Count: 04555

川端です.

赤坂さん,平鍋さん wrote:
> > クラスに自然な役割が割り振られていると、容易に変更に対応することが
> > できるのではないか、というのが私の意見です。
> > ルールの変更が想定外のもの(既存の役割が不自然なものになるの)だったら、
> > 当然クラスの役割を見直すことから始めると思います。
> > 
> > どちらにしても、なんか変と思った時点でリファクタリングが必要なんだと
> > 思います。
> > 
> > 数多く作られたクラスのケースで、よくあるのは不自然な役割のまま、無理やり
> > 変更に対応してしまい、どんどん訳のわからない構造になってしまうことです。
> > # これなら、2つのクラスで対応してしまった方がまし、と言えなくもないかも。
> > # ストーリーが複雑になったら、その時点で考えれば良いかも、ですね。
> > 
> > 私の結論(理想)は、常に自然な役割に割り振っておくこと、です。
> 
> 賛成.
> 
> 私は,SRP(Single Responsibility Principle=単一責務の原則)を,「自然な責務」
> と考えています.また,Robert Martin は,より現代的に,Responsibility = Reason to Change
> して変更の理由を責務と捉えています.

なるほど.「Responsibility = Reason to Change」だとすっきりします.

変更の理由があって初めて,「自然な責務」に分割するリファクタリングを行い,
変更の理由がなければ,そのモデルが「自然な責務」に正しく
分割されているかどうか自体,判断できないのではないでしょうか.

> > で,役割をきっちりさせる意味でもっとリファクタリングできるんでしょうが,
> > YAGNIの原則に反するのか?っていう感じもしました.
> 
> 次の変更前にリファクタリング、でも云いのかもしれませんね。
そうですね.ボーリングプログラムもXPエピソードということで,
YAGNIの原則を重視した結果なんでしょう.



■■■............ Agileware.jp
   アジャイルウェア
      川端 光義
   E-mail:kawabata@....jp
   URL:http://agileware.jp
--- Agileware.jp ---------■■■■■■