リファクタリングのあり方を2000年頃に包括的に語った本の実質の改定書。リファクタリングとは何かから始まり、その具体的な取り組み方や典型的なリファクタリングのパターンなどについて広く語っている。
うーん、他の人にとってはどうなのかわからないけど、少なくとも個人的にはこの本のスタイルは嫌いだなぁ。なんというか、綿密なルールを隅々まで作り上げた上で、これはこう・それはそう、とマニュアル的にリファクタリングを適用していく的な。もちろんそう画一的にはいかないところもあるんだけど、それに対しても、論理的にというか文章力で読破しているような。そうまさに「委員長」のような。そのスタイルのせいでどうも個人的に「納得いかない」感じで読み進めている気がした。
Smalltalkを持ち上げつつJava(の1.1)をベースにコードの例を出しているあたりも、新装でもあえてそのままにしたという意図はわかるんだけど、ちょっととっつきにくくしてしまっている点である気がする。Java2レベルの古い知識で止まってしまっている私ですら「ちょっと」と思ってしまう。
あと本書ではオブジェクト指向を全面的にアピールしていて、GoFのデザインパターンの話もちょこちょこ出てくる。GoFの知識なしでも読める程度ではあるものの、著者の意図をきちんと汲み取ろうと思うならばデザインパターンの知識も必要になるとは思う。ただ近年は、あまりオブジェクト指向という感じでもないんだよなぁ。未だにC++やJavaでやってるのならば、そうでもないのかもしれないけど。
コードの「不吉な臭い」を項目化して並べているところ(末尾開きページに一覧がある)あたりは、いざリファクタリング作業をするという場面でターゲットを探す時の作業の目安になってよいかと思う。
と、新装版とはいえ古臭さが否めないので、あえて今更買って読む必要はないかなぁという感じだった。今ならもっと簡潔にリファクタリングかくあるべきと述べた本もたくさんあるしね。