リファクタリングの目的は,後からの機能追加や変更をしやすく改良することにある。どのように変更したらよいかという具体的な改良方法も,カタログという形式で網羅的に説明している。実は,これが本書の中心部分だ。カタログ形式なので,個々の改良方法は独立して読めるようになっている。また,リファクタリングに用いるため,変更の手順を細かく指定し,途中で確認しながら段階的に変更する方式を採用している。作業の中には,コンパイルとテストも含まれ,どの段階でテストすべきなのかも指示してある。用意された手順は,ミスによるバグ発生を防ぐようにと,周到に考えられたものだ。こうした修正手順を守っている限り,バグを生む可能性は低い。
カタログに含まれる改良方法は,オブジェクト指向の機能を上手に活用したプログラミング方法でもある。カタログの全項目を理解できれば,オブジェクト指向の特徴を生かした良いプログラミングが身に付く。その意味で,オブジェクト指向プログラミングの上達に役立つ教科書としても使える。オブジェクト指向の特徴を理解し,オブジェクト指向のプログラミング言語を覚えたら,真っ先に読むとよいだろう。オブジェクト指向の上手なプログラミングに関する良い本があまりないだけに,その目的に役立つ本書は貴重な存在と言える。ただし,本書のサンプルはすべてJavaで書かれているため,最低でもJavaの基本ぐらいは知っている必要がある。
全体的にはかなり良い内容なのだが,すべての面で完璧ではない。プログラミングでは,「問題領域(適用業務)のロジックにできるだけ近い形で表現する」という重大な基本原則がある。紹介している改善方法の中には,この原則に反している部分も少し含まれている。また,メソッド名や分割方法を工夫することで,コメントの必要性を極力減らしている。しかし,日本人にとっては,機能を日本語で読めることが重要なので,この考え方には従わないほうがよい。こういった点を注意しながら読めば,オブジェクト指向の特長を生かした,変更しやすい内部構造のプログラムを作れるようなるはずだ。全体的に見て,指摘した欠点を差し引いたとしても,本書の魅力は低下しない。オブジェクト指向の上手なプログラミング方法を習得したい人にとって,必ずや役立つ本である。 (インフォメーション・アナリスト 川村 渇真)
(Copyright©2000 ブックレビュー社.All rights reserved.)
登録情報
|
この本ではリファクタリングと言った手法にプログラムの振る舞いを変えずにソースコードの中身を変えていく手順が説明されています。 私はこの本を読むことによって、設計に自身が持てる(後で変更が容易なので)ようになりましたし、妥協のないプログラムを書く気になりました。
また、この本を読むことによって、見やすいプログラムを書くための原則も身につけられます。 プログラマであれば必読の本だと思います。
書いてあることの個々の内容は比較的単純なものばかりですが、まずい設計が示唆する問題点、改善による効果、リファクタリングが可能な条件、リファクタリング時に見落としがちな点の指摘などが十分に書かれていて、リスクと効果をよく考えながらリファクタリングが出来るようによく配慮された内容になっています。プログラミング初級者にとって、とても勉強になる内容だと思いますが、経験を積んだプログラマにも日々のプログラミングのチェックリストとして非常に役に立つのではないかと思います。
JAVAでかかれているため、C++を使っている人には多少違和感がありそうですが、.NETプログラミングにはうってつけの内容だと思います。
|
|
|