以前、「デバッグを支える知識」として次の記事を書いています。 デバッグを支える知識 デバッグを支える知識(2) また、デバッグの科学的手法を「デバッグの科学的手法」で述べていますが、再度『ビューティフルコード』の第28章から引用すると以下の通りです。 1. プログラムの失敗を観察する 2. 観察と矛盾しない失敗の原因についての仮説を立てる 3. 仮説を使って予想する 4. 予想を実験でテストして、さらに観察する a. 実験と観察が予想を満たすなら、仮説をさらに精緻なものにする b. 満たさないなら、別の仮説を立てる 5. 仮説がこれ以上精緻にできなくなるまで、手順3と4を繰り返す。この「仮説」を立てるために必要なのが「知識」です。バグに直面したときには、仮説を立てるために必要な知識が不足していても、今日ではある程度ネットで調べて補えます。しかし、本質的な知識の欠如は、デバッグを阻みます。
![デバッグを支える知識(3): 柴田 芳樹 (Yoshiki Shibata)](https://cdn-ak-scissors.b.st-hatena.com/image/square/91294c5e7d5927632be882106d59f6c861902287/height=288;version=1;width=512/https%3A%2F%2Fblog.ss-blog.jp%2F_common%2Fimg%2Fsonet_logo_l.png)