リファクタリングの定義と意図
リファクタリングの定義
外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウエアの内部構造を変化させること
となるが、いつもしっくりこないでいたが、それがようやく言葉にできるようになってきた。
外部の振る舞いが「安定」、内部のCodeが「変化」という構図。
リファクタリングの活動は、この構図で。
リファクタリングの意図は、逆になるんだろう。
Clean Codeを保ち続けることで、スループットを落とさずに、機能追加や修正を続けることを可能にする一つの解に、リファクタリングがあるのだろう。
構造保存変換(structure-preserving transformations) == 全一性拡張変換(wholeness-extending transformations) と何か関係を感じる。