バグ取り、デバッグのノウハウや方法論について書かれたサイトや本を探しています。


私は、自分の研究でシュミレーションをするために
そのプログラムを書いていますがバグがとれずに苦戦しており、
デバッグをもっとスムーズにできてプログラムを書くスピードをあげたいと思っています。
プレゼンや英語論文執筆などについては本屋さんにもたくさん本があり、
web上にもそのノウハウを書いているページが多々見受けられますが、
バグについてのものでこれ!と思えるようなものにはまだ遭遇できていません。

そこで、特定の言語でこのコマンドを使って・・・というのではなく
デバッグするときの考え方・コツなどを書いているものを教えてください。
プログラムスキルに自信のある方でそのような方法論をお持ちの方は
その方法論を回答していただいても結構です。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2008/11/12 13:42:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:zzz_1980 No.1

回答回数492ベストアンサー獲得回数64

ポイント30pt

古い本ですが、2冊紹介しておきます。

プログラミング作法

プログラミング作法

  • 作者: ブライアン カーニハン ロブ パイク
  • 出版社/メーカー: アスキー
  • メディア: 単行本

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリュー ハント デビッド トーマス
  • 出版社/メーカー: ピアソンエデュケーション
  • メディア: 単行本

「早くバグを見つける方法」よりも「いかにバグをまぎれこませないか」が肝心かと思います。

id:keiko-te

回答ありがとうございます。

確かに、バグを作らないようにプログラミングするということは重要ですね。

ただ、他人が作ったプログラムでバグを疑って検証しなくてはならない場合もあるので

バグを見つける方法そのものについてもご存じでしたら教えてください(^^)

2008/11/09 18:04:32

その他の回答4件)

id:zzz_1980 No.1

回答回数492ベストアンサー獲得回数64ここでベストアンサー

ポイント30pt

古い本ですが、2冊紹介しておきます。

プログラミング作法

プログラミング作法

  • 作者: ブライアン カーニハン ロブ パイク
  • 出版社/メーカー: アスキー
  • メディア: 単行本

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリュー ハント デビッド トーマス
  • 出版社/メーカー: ピアソンエデュケーション
  • メディア: 単行本

「早くバグを見つける方法」よりも「いかにバグをまぎれこませないか」が肝心かと思います。

id:keiko-te

回答ありがとうございます。

確かに、バグを作らないようにプログラミングするということは重要ですね。

ただ、他人が作ったプログラムでバグを疑って検証しなくてはならない場合もあるので

バグを見つける方法そのものについてもご存じでしたら教えてください(^^)

2008/11/09 18:04:32
id:chuken_kenkou No.2

回答回数722ベストアンサー獲得回数54

ポイント15pt

ソフトウェアのテスト技法や品質管理については、30年以上前から様々な書籍が出ています。

ソフトウェアの形態にもより、いろいろ変わってきている部分もあるのですが、まず以下のキーワードで検索すると有用な記事や書籍を見つけられると思います。

  • カバレージ
  • テスト技法
  • ソフトウェアの品質管理

例えば、以下のような記事が検索できます。

ITmedia エンタープライズ:第1回:テストをどう考えていますか? (1/2)

@IT:The Rational Edge Webサービスのテスト技法進化論


もっと体系的に知りたいなら、個人で買うにはやや高額ですが、多くの書籍が出ています。そのため、図書館などを利用する方がいいかも知れません。

id:keiko-te

回答ありがとうございます。

リンク先サイトを読ませていただきましたが、

web構築の話に特化されていて、あまりよくわかりませんでした。

web構築におけるテストの方法論でしたが、

私はweb構築については全くわからないので、

用途に限らないようなデバッグの心得のようなものをご存じでしたら教えてください。

2008/11/09 18:10:05
id:emosei No.3

回答回数2ベストアンサー獲得回数0

ポイント30pt

当然ながら、一番大事な事は、どう動くべきかを自分が正しく把握している事。

それなくして、効率的なデバックは不可能でしょう。

逆に、それがあれば、方法は何でも良いと思います。

例えば、

  • デバックプリントを入れて動作を確認。
  • テストコードを書く。
  • ステップ実行できる環境があるなら、そうする。

など。

コツとしては、

  • 処理を正しく分割して、あまり複雑で長いコードにしない事。
  • できるだけシンプルに実装する。
  • 一気に全部直そうとしない。
  • 我慢強く。

などなど。

id:keiko-te

簡潔なアドバイスありがとうございます。

テストコードを書いてみるのはめんどくさいと思ったけれど意外と近道ですね。

2008/11/12 13:33:32
id:chuken_kenkou No.4

回答回数722ベストアンサー獲得回数54

ポイント10pt

#2です。

だから、「ソフトウェアの形態によっていろいろ変わってきた部分もある」と書いたのです。

#2で示したサイトも、ほんの一例ですから、#2で示したキーワードで検索してみて、自分なりに分かりやすいもの、あるいは自分の開発環境に近いものを探してみてください。


プロジェクトマネジメント・コンサルティング・サービス会社 ピーエム・アラインメント PM Alignment

知っておきたいテストの“イロハ”(1):ITpro

id:keiko-te

補足ありがとうございます。

検索する用語自体も、デバッグとかそういう感じで検索していたので参考になりました。

2008/11/12 13:35:30
id:torulove No.5

回答回数2ベストアンサー獲得回数0

ポイント15pt

http://www.amazon.co.jp/dp/0131177052

Michael C. Feathers / Working Effectively with Legacy Code

だめなコードをどう修正するか、という内容です。デバッグに特化しているわけではありませんが、他の回答者の方が挙げられている「テストコードを書く」こともプラクティスとして挙げられています。

登場する言語が、Java と C++ です。これらの開発ツールに特化した内容ではありませんが、コードを読んで、「ああ、こういう風にやるのね」という程度には Java や C/C++ を読める必要があるかと。

あと、あまり体系的にまとまった本ではありません。章ごとに個別の課題への対処方法が書かれていたり、ツールの紹介があったりします。なので、通読するのではなくて、ぱらぱらめくりながら探す本です。もしかしたら、質問者さんの意図とは違うかも知れません。でも、ダメコードを触らねばならない、という前提で議論をしている数少ない本です。

id:keiko-te

せっかく紹介していただきましたがJavaやC++を触ったことのない私には敷居が高いです;

とはいえ、それらの言語を使って同じように困っている人にはよい本のようですね。

教えていただきありがとうございます。

2008/11/12 13:40:00

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません