間違いを正すための行動に移る前に

リファクタリング・ウェットウェアより
リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法

「起こっていること」を完全に把握するー気づくーというアイディアが、デバッグに関して有効である。

テスト実施時にエラーが発生すれば

まずはキーボードから手を離しましょう。エラーメッセージを
注意深く読みましょう。今起こっていることに意識を集中させましょう。
コードのどこにバグが潜んでいるかを目を閉じてイメージしましょう、震源地を探すつもりで。すぐそばで地面が揺れているように
感じるかもしれません。でも震源地はすぐそこではありません、はるか彼方です。
あそこのコードはどんな感じだろう?その周りのコードは?
目を開けてみる前に周辺部分も含めたコードを頭に思い描いて
みましょう。コードをイメージできたら目を開けて、思い描いた部分のコードを追いかけてみましょう。期待したとおりになっているでしょうか?そこが本当の原因でしょうか?
それが済んだらもう一度目を閉じてテストコードを思い浮かべましょう。思い浮かびましたか?では目を開けて打ち込んでみましょう。イメージどおりかチェックします。テスト実行ボタンを押す前にどうなるか自問しましょう。それから実際にボタンを押して結果を見ます。

要は何がうまくいっていないかを完全に把握してから、バグを修正しろということです。

性急に判断を下したり、バグの可能性があると思われる部分を手直ししてしまいたい、という衝動に打ち勝たなければなりません。まずはシステムがどのように動作しているかを完全に把握することです。悪さをしている箇所を特定して初めて解決手段を考え出す段階に移るのです。別の言葉で表せば「ただ闇雲に動かないで立ち止まりなさい」ということです。

痛感。