パルカワ2

最近はFlutterをやっています

リファクタリングは保守性が下がっているからする特別な仕事ではなく常に行われるもの

自分たちの仕事は、訂正をし続けることである。そして、訂正にはプロダクトの振る舞いの訂正と技術的な訂正がある。みんなだいすきMartin Fowlerはリファクタリング(第2版): 既存のコードを安全に改善するで、開発時には機能追加とリファクタリングという2つの帽子を頻繁にかぶり直す必要があるという話をしている。自分が言うプロダクトの振る舞いの訂正とは機能追加などであり、技術的な訂正とはリファクタリングなどのことである。

ソフトウェアを開発しているとき、 私は頻繁に二つの帽子をかぶり直しています。 新たな機能 を追加しようとしていると、 コードの構造を少し変えれば簡単に機能追加できることに気づきます。 そこでリファクタリングの帽子にかぶり直します。 (略) 重要なのは、 どちら の帽子をかぶっているのか、 およびそれにより生じるプログラミングの仕方のちょっとした違い を、 常に意識しておくことです。

Martin Fowler. リファクタリング 既存のコードを安全に改善する(第2版) (p.47). Kindle 版.

プロダクトの振る舞いの訂正だけをとにかく積み重ねて後から技術的な訂正をすればいいと思うのかもしれないが、訂正はあとになればなるほどやりづらくなる。

なので、プロダクトの振る舞いの訂正と技術的な訂正の両方を漸進的に実施していくことが重要であると自分は信じている。

つまり、何が言いたいかというとリファクタリングは保守性が下がっているからする特別な仕事ではなく常に行われるものであるということですね。