プログラムを作り変えるのをマネージャに認めさせるのは大変です。実際、適当に直すと、直したつもりが悪くなることもあります。<BR> リファクタリングとは本書中「外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェア内部構造を変化させること」となっていますが、私は「プログラムの資産価値を上げる」と解釈しています。<P> 本書は大きく4部構成です。<BR> まず1章で具体的なリファクタリング例を一つ示し、全体を説明します。<BR> 次に2~5章で、、<BR> ・リファクタリングの意味、実施理由<BR> ・管理者へのアプローチ<BR> ・リファクタリングする個所の発見(アンチパターンに類似)<BR> ・テストの構築<BR> を説明し具体的なカタログに入ります。<P> カタログには、「名前・動機・手順・例」が示されます。これにより、適切なパターンを選び★内部構造だけを変化させる★ことができます。<BR> 最後、カタログの後にリファクタリングツール及びまとめがあります。<P> 本書中、いくつも相反するパターンがあります。これは動機が異なる場合に、変更方法が逆になるということですが、非常に面白いと思います。<P> 尚、本書はデザインパターンの知識があると読み易くなります。
ソースコードを修正(再構成)する常套手段をパターンとしてまとめ、それに名前を付けて分かりやすく説明した本。最近はIDEなどの開発ツールが、この本のリファクタリング名に沿って、各種リファクタリングを実装しています。プログラマーにとって必須アイテム。
達人プログラマ、ソフトウェア職人気質も読みました(ただの流行り好きですね・・・)が前二書がメンタルな部分が多いのに対し、この本は非常に実践的です。<BR>5章まででリファクタリングの意味を知り、後はリファレンス的に手元に置いておきたい本です。サンプルコードが多く明快な解説がされているので詰まったときに調べるのに最適だと思われます。