ブックレビュー社
題名にもなっているリファクタリングは,プログラムの内部構造を段階的に良くして,変更や機能追加をしやすく改良する方法である。最大のポイントは,自動化されたテストを有効に活用する点だ。プログラムを少し変更するたびにテストを実施し,バグの発生を素早く見付け,変更による新たなバグを効果的に防ぐ。こうした工夫のおかげで,安心して内部構造を改良できる。
リファクタリングの目的は,後からの機能追加や変更をしやすく改良することにある。どのように変更したらよいかという具体的な改良方法も,カタログという形式で網羅的に説明している。実は,これが本書の中心部分だ。カタログ形式なので,個々の改良方法は独立して読めるようになっている。また,リファクタリングに用いるため,変更の手順を細かく指定し,途中で確認しながら段階的に変更する方式を採用している。作業の中には,コンパイルとテストも含まれ,どの段階でテストすべきなのかも指示してある。用意された手順は,ミスによるバグ発生を防ぐようにと,周到に考えられたものだ。こうした修正手順を守っている限り,バグを生む可能性は低い。
カタログに含まれる改良方法は,オブジェクト指向の機能を上手に活用したプログラミング方法でもある。カタログの全項目を理解できれば,オブジェクト指向の特徴を生かした良いプログラミングが身に付く。その意味で,オブジェクト指向プログラミングの上達に役立つ教科書としても使える。オブジェクト指向の特徴を理解し,オブジェクト指向のプログラミング言語を覚えたら,真っ先に読むとよいだろう。オブジェクト指向の上手なプログラミングに関する良い本があまりないだけに,その目的に役立つ本書は貴重な存在と言える。ただし,本書のサンプルはすべてJavaで書かれているため,最低でもJavaの基本ぐらいは知っている必要がある。
全体的にはかなり良い内容なのだが,すべての面で完璧ではない。プログラミングでは,「問題領域(適用業務)のロジックにできるだけ近い形で表現する」という重大な基本原則がある。紹介している改善方法の中には,この原則に反している部分も少し含まれている。また,メソッド名や分割方法を工夫することで,コメントの必要性を極力減らしている。しかし,日本人にとっては,機能を日本語で読めることが重要なので,この考え方には従わないほうがよい。こういった点を注意しながら読めば,オブジェクト指向の特長を生かした,変更しやすい内部構造のプログラムを作れるようなるはずだ。全体的に見て,指摘した欠点を差し引いたとしても,本書の魅力は低下しない。オブジェクト指向の上手なプログラミング方法を習得したい人にとって,必ずや役立つ本である。 (インフォメーション・アナリスト 川村 渇真)
(Copyright©2000 ブックレビュー社.All rights reserved.)
内容(「BOOK」データベースより)
内容(「MARC」データベースより)
著者略歴 (「BOOK著者紹介情報」より)
京都大学文学部アメリカ文学科卒業。東京出身。(株)オージス総研にてオブジェクト指向関係のコンサルティング、開発業務に従事。UML研究会会員。JPLoP設立委員。訳書に「サクサクSmalltalk」(東京電機大学出版局)などがある。座右の銘「A rolling stone gathers no moss(米国)」、「勢い加えて大きくまわれ」、「三度の飯よりSmalltalk」。趣味は多摩川にて土手に座り、川の流れを見ながら空を見る
平沢 章
上智大学理工学部化学科卒業。千葉県出身。(株)オージス総研オブジェクトテクノロジーソリューション部にてオブジェクト指向技術に関するコンサルティングやシステム開発業務に従事している。座右の銘は「集中は力なり」、「リスクを制するものはシステム開発を制す」、「オブジェクトより三度の飯」
友野 晶夫
早稲田大学理工学部数学科卒業。東京都出身。(株)エヌ・ケー・エクサ技術部方法論チームにて、開発技法の洗練、普及、ならびに、システム開発業務に従事。ACM会員。JapanPLop代表。訳書に「アナリシスパターン」(共訳)がある。座右の銘は、「漁夫の利」、「立っているものは親でも使え」、「Embrace Change」(本データはこの書籍が刊行された当時に掲載されていたものです)