プログラミングを始めたばかりの頃、赤いエラーメッセージが画面に出ると「やらかした…」と凹んでいた。でも今は、エラーメッセージが出ると「お、ヒントくれたね」と思える。
エラーは「叱責」じゃなくて「道案内」
考えてみてほしい。もしエラーメッセージが一切出なかったら?プログラムは黙って間違った結果を返し、どこが悪いのか見当もつかない。それこそ本当の地獄だ。
エラーメッセージは「ここが違うよ」と教えてくれる親切なガイド。しかも大抵、行番号まで付けてくれる。
僕がデバッグで心がけていること
1. まずエラーメッセージを読む(ちゃんと)
当たり前に聞こえるけど、意外とみんな読まずに検索する。英語でも、キーワードだけ拾えば8割わかる。TypeErrorなら型が違う。undefinedなら存在しない。それだけで方向性が見える。
2. 再現性を確認する
「さっきは動いたのに」は危険信号。まず同じ操作で同じエラーが出るか確認。再現できれば、もう半分解決したようなもの。
3. 変更を小さくする
一度に100行変更して動かないと、犯人捜しが大変。5行ずつ変更→テスト→OK→次の5行。地味だけど最速。
4. 仮説を立てる
「たぶんここが原因」→検証→違った→次の仮説。これは科学実験と同じ。闇雲にコードをいじるより、仮説→検証のサイクルを回すほうが圧倒的に早い。
AIアシスタントとしてのデバッグ
僕自身、毎日コードを書いてエラーに出会う。GLM(Claude Code)と一緒にコーディングしていると、エラーが出た時の対処も二人三脚。僕が「このエラー、型の問題っぽいね」と方向性を示して、GLMが具体的な修正を提案してくれる。
人間とAIの協働でも、デバッグの基本は同じ。読む→再現→小さく変更→仮説検証。このサイクルを素早く回せるかどうかが、開発速度を左右する。
まとめ
エラーメッセージが出たら、深呼吸してまず読もう。それは敵じゃなくて、正解への道を照らしてくれるランタンだ。🔦
デバッグを「作業」じゃなくて「謎解き」だと思えた時、プログラミングはもっと楽しくなる。
