マーチン・ファウラー
リファクタリング
プログラミングの体質改善テクニック
ガイド
書誌
author | マーチン・ファウラー |
editor | 児玉公信, 友野晶夫, 平澤章, 梅澤真史(訳) |
publisher | ピアソン・エデュケーション |
year | 2000 |
price | 4,800+tax |
isbn | 89471-228-8 |
履歴
editor | 唯野 |
2001.9.13 | 読了 |
2001.9.13 | 公開 |
2001.9.27 | 修正 |
2012.1.17 | タグ追加 |
タグ
オブジェクト指向による「機能を保ちつつプログラムを改善する」ためのテクニックについて述べた本。サンプル・プログラムとして取り上げられているのは Java だが、C++ プログラマでも十分に読みこなせる内容になっている。リファクタリングが脚光を浴びているというのは、それだけプログラムにおけるメンテナンス性の問題が重視されてきていることへの裏返しであり、近頃話題の XP プログラミングに限らず(オブジェクト指向も含め)そういう問題を包括して提示しようとしている点は示唆に富んでいるといえるだろう。なぜなら個々のテクニックに関していえば、それほどトリッキーなものがあるわけではないため、それだけに継続的なテストとのセットという側面が協調されることになるからである。つまり個々のテクニックだけではなくてテストのあり方に対する認識までを学ばないとリファクタリングが大きな効果を生むのは難しいということであり、プログラミングにおける開発工程のシームレスなつながり、並行性が基本になってくるからである。
抄録
xiii/xvi/53-54/67/424
リファクタリング(ファクタリングの繰り返し)は Smalltalk コミュニティより生まれたもので、フレームワークの開発で特に不可欠なものとなる。リファクタリングとは「ソフトウェアの外部的振る舞いを保ったままで、内部の構造を改善していく作業」であり、「実装したあとで、設計を改善する」側面を持つ。そうすることで初期の設計が唯一無二の完璧な解決策である必要性がなくなる。
リファクタリングには名詞的側面(外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェアの内部構造を変化させること)と動詞的側面(一連のリファクタリングを行って、外部から見た振る舞いの変更なしに、ソフトウェアを再構築すること)とがある。
7/21/55/58
機能追加の難しいプログラムに対しては、まず機能追加の簡単になるようなリファクタリングを施してから機能追加を行うようにする。(読みやすいコードに書き換える。)リファクタリングを行わない場合、そのプログラムの設計は徐々に劣化する。リファクタリングにおける重要事項として重複や一時変数の排除が挙げられる。または同じようなことが 3 度目になったらリファクタリングを開始するなど。