物作りでは、全体の7〜8割程度を作るのはあっという間である。しかし完成までの残り2割、1割を詰めていく作業には、想像以上の手間と時間がかかるものだ。
ソフトウェア開発においても同じことが言える。相応のスキルを持つプログラマなら、とりあえずそれらしく動くプログラムを作るのはたいした手間ではない。しかし不測の事態に備えたエラー処理を準備したり、想定外の操作に対する防御機構を組み込んだりという、製品としての完成度を高める最後の詰めには多大な工数がかかる。この最後の工程では、「テスト→問題点の発覚→デバッグ(問題個所の特定)→コード修正→テスト」という、気の遠くなるような作業ループが回り続ける。このループを短期間で終結させるポイントは、ソース・コードの問題個所を素早く、的確に発見するデバッグ・テクニックである。
デバッグは、好むと好まざるにかかわらずプログラマにとって不可避の作業であり、品質の高いソフトウェアを短期間で開発するという意味では、最も重要な作業だといっても過言ではない。しかしこれまで、デバッグのテクニックは、人や書籍などから効率よく学ぶものではなく、個々のプログラマが試行錯誤を繰り返しながら、身に付けていくものだった。
本書は、この「デバッグ」という未開の領域に対し、組織的・系統的な解説を試みた野心的な書籍である。著者であるJohn Robbins氏は、開発者支援ツールの分野では著名なNuMega社(現Compuware Numega社)で中心的なエンジニアとしてさまざまな製品開発に参加した経験を持ち、MSDN Magazineの社外編集者として、「Bugslayer」というデバッグ・テクニックに関する連載を担当している。長年にわたり、ソフトウェア開発の暗黒面とも言えるデバッグと正面から向き合っていたからこそ記すことができた書籍といってよいだろう。
本書は大きく3部に分かれており、第1部「デバッグにおけるゲシュタルト」ではまず、バグの定義やデバッグに対する基本的な取り組み方を学ぶ。続く第2部「デバッグパワーテクニック」では、Visual C++とVisual Basic用のデバッガについて、著者自身のノウハウを交えながら、それらの活用法を丁寧に解説している。そして第3部では、サービスやDLLのデバッグ、マルチプロセス/マルチスレッド・プログラムのデバッグなど、Windowsアプリケーション固有のデバッグ方法について、さらに踏み込んで解説する。
本書の中心となる読者は、Visual C++またはVisual Basicでのプログラミング経験を持つ中級以上のプログラマであるが、第1部で学ぶ「デバッグの基礎」については、Windows環境以外のプログラマにとっても役立つだろう。デバッグに追われて寝る暇もないというWindowsプログラマは、ぜひとも本書を購入して、達人のテクニックやノウハウを盗むべきだ。
各書評にあるボタンをクリックすると、オンライン書店で、その書籍を注文することができます。詳しくはクリックして表示されるページをご覧ください。
|
|