『Java言語で学ぶリファクタリング入門』

Java言語で学ぶリファクタリング入門』(結城浩/ソフトバンクパブリッシング)を読みました。

結城さんの書く本は、とてもわかりやすくて、読みやすいので、かなり好きです。

今回の本も、とても丁寧にわかりやすく書かれていると思います。

結城さんの本全般的に言えることですけれども、丁寧にわかりやすく書いてあるけれども、やさしいことだけが書かれているわけではなく、読み進めていくと本に促されながら、自分の世界が少しずつ広がっていくような感じがします。

リファクタリングカタログの大半は、普通のプログラマなら当たり前にやっていることなので、退屈に感じてしまいそうですが、実際にリファクタリング前のソースコードから、作業中の思考をあわせて、徐々にリファクタリングしていく様を読ませていくのは面白いと思いました。

特に、後半の、第12章 <<観察されるデータの複製>>、第13章 <<委譲による継承の置き換え>> 、第14章 <<委譲の隠蔽>>、第15章 <<継承の分割>> は、コードが変化していくさまが、とても面白かったです。

逆に、リファクタリングの性質上、どうしても「(できてあたりまえの)作業手順の確認」という意味合いが強いので、序盤から中盤に掛けては、すこし退屈に感じてしまうことがありました。

残念だったのが、リファクタリングを支えるべきである、テスト技法についての解説が少ししか載せられていなかった点です。

ここまで解説してしまうと、リファクタリングという本筋から離れてしまうので、書かれなかったんだろうと思いますが、個人的にはテスト(とバージョン管理)があってこそのリファクタリングだと思うので、もっとページを割いても良かったと思います。

もし、『Java言語で学ぶ リファクタリング入門』を手にしてみて、少し難しく感じる部分があるようだったら、『Java言語で学ぶ デザインパターン入門』(結城浩/ソフトバンクパブリッシング)を、(先に)読んだほうが良いかもしれません。
(マルチスレッド編も出ていて、これもとてもよい本なのですが、今回の本とはちょっと関係が薄いので、また今度...)


リファクタリングの本は、他に『リファクタリング-プログラムの体質改善テクニック-』(マーチン ファウラー/ピアソンエデュケーション)と『パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法』を読んだことがありますが、『リファクタリング』は、カタログの意味合いが強いので、読み物としては退屈に感じてしまうと思います。
(時々手にとって、ぱらぱらとカタログを眺めるのにはとてもよい本です)

『パターン指向リファクタリング入門』は、デザインパターンを覚えてちょっとしたぐらいに読むと、効果が高いと思います。

パターンにしても、リファクタリングにしても、無理やり進めるんじゃなくて、少しずつ無理のないように進めていくというのが、良い付き合い方なんだろうなと思います。


Java言語で学ぶリファクタリング入門

Java言語で学ぶリファクタリング入門

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  • 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/05
  • メディア: 単行本
  • 購入: 94人 クリック: 3,091回
  • この商品を含むブログ (312件) を見る
パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門