おはようございます、沖田です。
平鍋さん、お返事ありがとうございます
> 沖田さん,はじめまして.
> 平鍋です.
>
> On Tue, 10 Apr 2001 10:16:24 +0900,
> Naoyuki Okita <Naoyuki_Okita@....jp> said:
>
> > さて、今 社内の有志でリファクタリングの勉強会をしているのですが、
> > 「大きなリファクタリング」と「アーキテクチャジャンプ」の関係について質問
> > いたします。
>
> > M.Fowlerの「リファクタリング」の12章は「大きなリファクタリング」なのです
> > が、特にXPとの関連した話は出ていません。
> > しかし、先月のUML Forumで平鍋さんのXP Movementにあった、「アーキテクチャ
> > ジャンプ」を見たときに、「大きなリファクタリング」を連想しました。
> > 「アーキテクチャジャンプ」=「大きなリファクタリング」と、私は思ったので
> > すが、その解釈は妥当でしょうか?
>
> はい.ただ....
>
> アーキテクチャジャンンプの話は思い付きで,あまり自分の中でも
> 煮詰められていません.寺田さんや斎藤宏治さんと話をするなかで
> 出て来たアイディアです.まだまだ考察と計測が必要です.なので,
>
> ..聞かないで ^^;
>
> というのがお答えです.沖田さんはどう思いますか?
>
> 以上
なるほど、そのような背景があったのですね。
XPの用語として「アーキテクチャジャンプ」があるのかと勘違いしていました。
私の個人的な考えになりますが、
大きなリファクタリング(名詞 *1)とアーキテクチャジャンプは、結果としてか
なり似ているのではないかと思います。
また、アーキテクチャジャンプを実施する手段として、大きなリファクタリング
(動詞 *2)することになるのでは?と思います。
あえて、「結果として」と書いたのは、動機が違うこともあるからかな?と思っ
てためです。
下図に、私が思った大きなリファクタリングとアーキテクチャジャンプの関係
を示します。
大きなリファクタリング
+------------+
| | アーキテクチャジャンプ
| +-------+---+
| | | |
| B | A | D |
| C | | |
| +-------+---+
| |
+------------+
・Aは大きなリファクタリングとアーキテクチャジャンプの動機も結果も重なる
領域で、多くの事例がここになるのではないかと思います。
私が、最初に大きなリファクタリング==アーキテクチャジャンプと、質問したの
もここを想定していました。
・Bはアーキテクチャ不在の混乱状態になったプログラムを叩き直す場合。
・Cは局所的な限界点には達していないが、おそらく限界点を超えそうなので、
アーキテクチャを見直す場合。
(XPだと、やはり変更が発生&限界点に達したとなるまでは、局所解を目指すの
でしょうか?)
・Dはリファクタリングで、稼動しながら変更するのではなく、作り直してしま
え!という場合
(正しいXPのアプローチかどうかは自信がありません。)
「リファクタリング」より
*1) リファクタリング(名詞):外部から見たときの振る舞いを保ちつつ、理解や
修正が簡単になるように、ソフトウェアの内部構造を変化させること。
*2) リファクタリングする(動詞):一連のリファクタリングを行って、外部から
見た振る舞いの変更なしに、ソフトウェアを再構築すること。
といったところです。以上。