リファクタリング

既存コードの設計改善

著者 Martin Fowler、執筆協力 Kent Beck

2018

安全で迅速なプロセスでコードを変換する方法のガイド。将来のニーズに応じて変更を安価かつ容易にするために不可欠です。

リファクタリングは、既存のコードベースの設計を改善するための制御された手法です。その本質は、それぞれが「行う価値がないほど小さい」多くの小さな行動維持変換を適用することです。ただし、これらの変換の累積的な効果は非常に重要です。小さなステップで行うことで、エラーが発生するリスクを低減できます。また、リファクタリングを実施中にシステムが破壊されるのを防ぐことで、長期間にわたって徐々にシステムをリファクタリングできます。

私の本では、リファクタリングのプロセスについて説明し、ほとんどの時間をさまざまなリファクタリング(行動保存変換)の実行方法の説明に費やしています。この本は、プロセス全体を説明する簡単な例から始まります。その後、リファクタリングの周辺の問題、リファクタリングを提案する「コードの悪臭」、およびテストの役割について説明するいくつかの序章があります。

本の後半では、約70のリファクタリングが詳しく説明されています。それらを行う動機、安全に行う方法のメカニズム、簡単な例です。

これは2018年末に出版されたこの本の第2版です。第1版は1999年に出版されました。自分が最も誇りに思っているのがこの本です。ソフトウェア開発の世界に大きな影響を与えました。現在、いくつかの開発環境はこの本で説明されている多くのリファクタリングを自動化しています。リファクタリングはソフトウェア開発の語彙の本格的な一部となっています(残念ながら、誤用にもつながっています)。

正誤表

関連書籍

refactoring.com

リファクタリングに関するその他の資料。特に、カタログには、本に記載されているすべてのリファクタリングの概要が記載されています。

オープニングチャプターの無料ダウンロード

オープニングチャプターのコードサンプル

Emily Bacheは、12の言語でオープニングチャプターのソースコードを含むリポジトリをホストしています

第2版の変更点

第1版と第2版の変更点を概説しています。

Web版へのアクセス方法

第2版のメモ

新版の執筆に関する考察。スコープ、カバーの選択、対象読者など。

第1版の正誤表

Camilla Crispimによるインタビュー

第2版に関する1時間のビデオ

InfoQのインタビュー