なたでぽぽ

リファクタリング

リファクタリング―プログラムの体質改善テクニックを読みました。

著者はマーチン・ファウラー。私は詳しく知らなかったのですが、この世界では有名な人らしく、この本もバイブル的なものとなっています。

内容はもちろんリファクタリングに関することで、前半部分がリファクタリングの必要性などについて、後半が具体的なリファクタリングの方法論について、となっています。

私もそれなりにプログラム経験がありますので、リファクタリングの重要性についてはそれなりに理解しているつもりでしたが、本書の前半部分を読むことでそれを再認識することが出来ました。

リファクタリングをやりはじめると、それが一区切りつくまでは新しい機能を付け加えることが出来ませんし、最悪の場合には今まで動いていたプログラムが動かなくなってしまいます。

なので、プログラムがぐちゃぐちゃになりかけているのは分かっているけど、なかなかヤル気にならないのがリファクタリングというものです。でも、リファクタリングをサボると絶対に後で後悔します。私もリファクタリングをサボったせいで何度痛い目にあったか分かりません。

2,3日で書き上げて、その後あんまり手を入れる気のないプログラムならリファクタリングなんて必要ないかも知れませんが、それ以上の規模になってくると、趣味で書くプログラムであってもやはりリファクタリングが必要になります。今後は、この本の教えに則って、すっきりとしたプログラムを作るように心がけたいと思いました。

それから、アジャイルサムライのところでも書いたように、やはりテストをしっかりと作り込むことが重要です。これもついついサボりがちな作業ですが、後で考えてみると、最初にテストを書いておけばよかったと思うことが多々あります。

本書の後半部分は具体的なリファクタリングの手法が書かれているわけですが、非常に細かく体系化されていて勉強になります。

これまで何となく自分流のリファクタリングをやってきましたが、突き詰めて考えると本書に書いてあるような要素に分解することができ、それらを適宜組み合わせることで効率的なリファクタリングが可能になるのでしょう。

これについてはまだまだ経験不足なので、今後プログラミングする際に意識して、自分のものにしていければと思います。

ということで、本書はリファクタリングを必要とするプログラマ、つまり全てのプログラマにとって必須の一冊です。サンプルプログラムはJavaで書かれていますが、それほど難しいところもありませんので、Javaの文法を一度勉強したことがある人なら問題ないでしょう。