The King's Museum

ソフトウェアエンジニアのブログ。

リファクタリング【第2版】- 第2章:リファクタリングの原則

リファクタリングの第2章。リファクタリングのベースとなる考え方について書かれている。

リファクタリング、とは何か。

リファクタリング(名詞)

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

リファクタリングをする、とは何か。

リファクタリングする(動詞)

一連のリファクタリングを適用して、外部から見た振る舞いの変更なしに、ソフトウェアを再構築すること

リファクタリングとは外部から見た振る舞いの変更なしにコードを修正すること。 コーディングしている間、破壊的な変更とリファクタリングの違いを意識して作業するとよい。 これを「二つの帽子をかぶり直す」と表現している。 変更をしやすくするために振る舞いを変えずにコードを修正して変更を加えやすい状態にし、その後、破壊的な変更を加える。

これは CODE COMPLETE の「二回測って一度で切る」の考え方と共通するところがある気がする。

この本でも言及されていたけど、こうやって考えてみるとリファクタリングとはとても小さなステップの集まりなんだよね。 大きくリファクタリングする時間をとるのもわるくないんだけど、理想は普段の機能開発の中に自然と取り入れられているものなのだと思う。

キャンプの古い格言に、キャンプ場を去るときは、来たときよりもきれいにして帰ろうというものがあります。駄目なコードを見かけるたびに少しずつ改善をしていけば、やがて問題はなくなっていくでしょう。

自分もコードを触るときは、そのコードを少しでもよい状態にして去ることを心がけている。完璧じゃなくてもね。

(c) The King's Museum