「新装版リファクタリング―既存のコードを安全に改善する」読んだ

Amazonアフィリンク

リファクタリングのあり方を2000年頃に包括的に語った本の実質の改定書。リファクタリングとは何かから始まり、その具体的な取り組み方や典型的なリファクタリングのパターンなどについて広く語っている。

うーん、他の人にとってはどうなのかわからないけど、少なくとも個人的にはこの本のスタイルは嫌いだなぁ。なんというか、綿密なルールを隅々まで作り上げた上で、これはこう・それはそう、とマニュアル的にリファクタリングを適用していく的な。もちろんそう画一的にはいかないところもあるんだけど、それに対しても、論理的にというか文章力で読破しているような。そうまさに「委員長」のような。そのスタイルのせいでどうも個人的に「納得いかない」感じで読み進めている気がした。

Smalltalkを持ち上げつつJava(の1.1)をベースにコードの例を出しているあたりも、新装でもあえてそのままにしたという意図はわかるんだけど、ちょっととっつきにくくしてしまっている点である気がする。Java2レベルの古い知識で止まってしまっている私ですら「ちょっと」と思ってしまう。

あと本書ではオブジェクト指向を全面的にアピールしていて、GoFのデザインパターンの話もちょこちょこ出てくる。GoFの知識なしでも読める程度ではあるものの、著者の意図をきちんと汲み取ろうと思うならばデザインパターンの知識も必要になるとは思う。ただ近年は、あまりオブジェクト指向という感じでもないんだよなぁ。未だにC++やJavaでやってるのならば、そうでもないのかもしれないけど。

コードの「不吉な臭い」を項目化して並べているところ(末尾開きページに一覧がある)あたりは、いざリファクタリング作業をするという場面でターゲットを探す時の作業の目安になってよいかと思う。

と、新装版とはいえ古臭さが否めないので、あえて今更買って読む必要はないかなぁという感じだった。今ならもっと簡潔にリファクタリングかくあるべきと述べた本もたくさんあるしね。

このブログ記事について

このページは、らるるが2017年8月20日 01:54に書いたブログ記事です。

ひとつ前のブログ記事は「「GPUを支える技術・超並列ハードウェアの快進撃」読んだ」です。

次のブログ記事は「C++のSTLコンテナをgdbデバッグでprintする」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0