Software Debuggingまとめ
目的
UdacityのSoftwareDebuggingのコースを、ずっと受けていましたが全て終了したのでまとめを残しておきます。
まあ演習問題は面倒だし、使用言語がPythonなので実際に使わないためやってないんですが。
Ch1 How Debbugers Works
科学的手法
デバッグには以下の科学的手法を使うべし。
- エラーを観察する。
- 仮説を立てる。
- 予測する。
- 実験する。
- 実験結果を観察する。
- 仮説が正しいか、確かめる。
- 仮説が正しい場合は、仮説を強化する実験を行う。
- 仮説が正しくない場合は、仮説を却下し新たな仮説を構築する。
- 上記のステップを、バグの原因が説明できるまで繰り返す。
チェック項目
バグの修正後は必ず以下をチェックするべし。
- 同じバグが存在していないか。
- エラーが再び起こらないか。
デバッグに5分以上かかる場合、系統的デバッグを行うべし。
系統的デバッグとは、デバッグの過程を記録するやり方。
これには下記の利点が存在する。
- エラーをいつでも再現できる。
- デバッグをいつでも再開できる。
- 同じエラーが出現したとき、すぐに解決できる。
他の人と会話するのもよい方法である。
参考
Why Programs Fail, Second Edition: A Guide to Systematic Debugging
- 作者: Andreas Zeller
- 出版社/メーカー: Morgan Kaufmann
- 発売日: 2009/06/26
- メディア: ペーパーバック
- 購入: 1人 クリック: 1回
- この商品を含むブログ (1件) を見る