プログラミング作法②【ひとり読書会】

第五章:デバッグ

5.2
よくあるバグパターンを見つける。
ただ、"よくある"ということをそもそも認識してないといけないワケで、エラーメッセージをよく読まず、『即コピペ→ググる→コピペで修正』みたいなことしてたら、大抵そのバグは自分の記憶に残ってない。
しっかりとエラーの原因と解決策を理解しようと思う。
あとは
・今すぐデバッグ
・打つ前に読め
・自分のコードを他人に説明する
など。

5.3
出力表示とかログファイル出力とか、愚直だけどもやっぱり有効な手段だなと。
あと、"記録をとろう”って。
何のためにどんなテストをしてどんな結果だったか。
しっかり取っておかないと同じ事を繰り返しかねないし、漏れも出る。やっぱり大事、ホントに。

5.4
思い込みや勘違いが引き起こすバグの話が中心。

if(x & 1 == 0) // 演算子の優先度はどっちが高い?

とか

// = に注目
while((c == getchar()) != EOF)
    if(c = '\n')
        break;

とか。
引数の順番が違う、コードの消し忘れ、タイプミス...

5.7
他人のコードをデバッグするときは、プログラムの構成、元のプログラマの意図について多少の予備知識は頭に入れておかねばならない。
(ホント頼むからドキュメントは残しておいてくれ。)
あとは、
・問題が本当にそのプログラムにあるのか。自分じゃないか。
・自分が受け取りたいと思うレポートを書くこと。
とかそんな感じ。