リファクタリングの定義と意図

リファクタリングの定義

外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウエアの内部構造を変化させること

となるが、いつもしっくりこないでいたが、それがようやく言葉にできるようになってきた。

外部の振る舞いが「安定」、内部のCodeが「変化」という構図。

リファクタリングの活動は、この構図で。
リファクタリングの意図は、逆になるんだろう。

Clean Codeを保ち続けることで、スループットを落とさずに、機能追加や修正を続けることを可能にする一つの解に、リファクタリングがあるのだろう。

構造保存変換(structure-preserving transformations) == 全一性拡張変換(wholeness-extending transformations) と何か関係を感じる。