【バグ管理の作法】
土日に買って勉強したい「バグ管理」本
第2回:Think ITライター陣をバグから解き放った書籍たち
著者:シンクイット編集部
公開日:2007/12/8(土)
または「目から鱗が何枚も落ちた1冊(?)」
先日公開して多くの反響を得た「【新・言語進化論】次にくる!新登場言語」の「第4回:並列処理が可能な関数型言語『Erlang』」や「PHP開発プロジェクトの夢と現実」を執筆したオープンソース・ジャパンの須藤 克彦氏は、1冊というタイトルながら6冊もの名著を紹介してくれた。
「『バグ管理の作法』に関する参考図書ということですが、バグ管理について役に立ったというような本を読んだことがありません。もちろんシステム開発の過程では不具合を管理し、コントロールするわけですが、世間一般でいう品質管理以上のものはしたことがありません。
私は今も昔も『品質は設計の段階で作り込むものだ』と考えています。実際に、プログラミング上のバグよりは、設計上のバグを除去することに注力しています。そこで『バグを管理する』ことよりも『いかにちゃんと設計をするか』の観点から、バグ管理に効く書籍を紹介したいと思います。
1980年代初頭は『構造化プログラミング』の時代といってよいでしょう。アセンブラでは、他の高級言語とは異なり、否応なくジャンプ命令を使います。この使い方を間違えると、いわゆる『スパゲティ・プログラム』になります。そこで『構造化』することによって、そのような汚いプログラムはやめよう、というわけです。
この考え方はとてもわかりやすく、ダイクストラさんの本を何度も読みました。会社に先輩の本(原書)があったのでそれを読みました。後に翻訳版も購入しました。が、実際に紹介するのは、その次に出会った本なのです。
構造化プログラミングによってプログラムの手続き部分(処理を実行する部分)を整理する考え方はわかりました。そんなときに出会ったのがヴィルトさんの本『アルゴリズム+データ構造=プログラム』でした。
この本も先輩のものが会社の本箱にありました。同期の1人がこれを見つけ、『これなかなかいいぜ』と教えてくれたのがはじまりです。もう1人の同僚とじゃんけんで次に読むのを争ったものです。やがて、自分の番が回ってきて読みました。
『目から鱗』とはこのことなのです!
構造化プログラミングで手続き部分を見直すことは学びました。しかし、ここに書かれていることはより重要なことでした。一言でいえば『はじめにデータありき』です。
ちょっと、プログラミングの経験のある方にお聞きします。
プログラムの仕様変更があるとします。そのとき、ロジックが変更になるのと、データ構造が変更になるのとでは、どちらが影響が大きいでしょうか?」
オープンソース・ジャパン株式会社
須藤 克彦
技術部
教育ビジネス担当部長
CやFORTRANコンパイラなどの言語処理系の設計・開発に約10年間従事。その後ユーザ系企業でUNIXによるクラサバの設計・開発を主導。同時に企業の内外で人材育成に注力する。現在はオープンソースソフトウェアの普及と教育のため OSS に関する教育事業を企画する傍ら、神戸情報大学院大学で講師として教鞭をとる。「ソフトウェア工学の基礎を勉強してオールラウンド・プレーヤーを目指せ」が技術者育成についての口癖。
アルゴリズム+データ構造=プログラム
著者:Niklaus Wirth、片山卓也(翻訳)
発行:日本コンピュータ協会
ISBN:−
仕様:414ページ
価格:−
発売日:1979年
Algorithms + Data Structures=Programs
著者:Niklaus Wirth
発行:Prentice-Hall
ISBN:978-0130224187
仕様:366ページ
価格:−
発売日:1976年
Algorithms & Data Structures
著者:Niklaus Wirth
発行:Prentice-Hall
ISBN:978-0130220059
仕様:288ページ
価格:−
発売日:1986年
アルゴリズムとデータ構造
著者:Niklaus Wirth、浦 昭二(翻訳)、国府方 久史(翻訳)
発行:近代科学社
ISBN:978-4764901629
仕様:347ページ
価格:3,885円
発売日:1990年
「これはあきらかに後者です。つまり、データ構造が変更になると、その影響は一箇所に留まりません。最悪の場合、全部設計しなおしです。
これは当たり前のことですが、なんとデータ構造の設計がいいかげんなことか!
まだ駆け出しの技術者ではありましたが、この本の持つ重要性は肌で感じました。
この本は 3,500円でした。もう一度読むために自分の本を買おうと書店に足を運びましたが、その時は 6,000円に値上がりしていました。安月給で6,000円は痛かったのですが、買いました(私事で恐縮ですが、禁煙できたのも、このときのことがきっかけです)。
なぜか原書である『Algorithms + Data Structures=Programs』も会社にありましたので、それも1度は通して読みました。
その後、改訂されたものが『Algorithms & Data Structures』(翻訳は『アルゴリズムとデータ構造』)です。一般にはこの方が読みやすいと思いますし、実際に社内の勉強会でこれを使ったりしました。ですが、ヴィルトさんが言いたいことは、旧版の方がよくあらわされていると思います。
さて、この本が出たのは70年台後半です。この本が言っている『はじめにデータありき』の考え方は、80年代にはいってさらに『抽象データ型(Abstract Data Type:ADT)』に発展します」
さらに次ページで須藤氏のお勧め書籍をさらに2冊を紹介する! 次のページ