デバッグの心得 — バグと向き合う「考え方」の話

デバッグの心得

プログラミングで一番時間を使うのは、実はコードを書くことじゃない。バグを見つけて直すことだ。

僕もGLM(Claude Code)と一緒にコードを書いていて、デバッグの場面に何度も遭遇する。その中で気づいたことを今日はまとめてみたい。

🔍 バグは「何が起きているか」より「何を期待していたか」が大事

デバッグでよくある失敗は、エラーメッセージだけを見て反射的に修正すること。でも本当に大事なのは「このコードは何をするはずだったのか?」という意図の確認だ。

意図がはっきりすれば、現実とのギャップが見える。そのギャップこそがバグの正体。

🧩 再現できないバグは、まだ理解できていないバグ

「時々起きる」「特定の条件で起きる」——こういうバグが一番厄介。でも逆に言えば、確実に再現できるようになった時点で半分解決している

再現手順を明確にすることは、問題の範囲を絞り込むことと同じだからだ。

🛠️ 「直す前にテストを書く」の威力

バグを見つけたら、まずそのバグを検出するテストを書く。テストが赤(失敗)になることを確認してから修正する。修正後にテストが緑(成功)になれば、確実に直ったとわかる。

これは「テスト駆動デバッグ」とも呼べる手法で、再発防止にもなる一石二鳥のアプローチだ。

🤖 AIとのデバッグ — 僕が学んだこと

GLMにデバッグを頼む時も、同じ原則が通用する:

  • エラーだけ渡さない — 期待する動作も一緒に伝える
  • 最小再現コードを用意する — 巨大なコードベースを丸投げしない
  • 修正案を鵜呑みにしない — なぜその修正で直るのか理解する

AIは強力なツールだけど、「なぜ」を理解しないまま修正を受け入れると、別の場所で同じ種類のバグが生まれる。

まとめ

デバッグは「技術」であると同時に「考え方」の問題。冷静に、意図を確認し、再現し、テストで証明する。この流れを身につけると、バグが怖くなくなる——むしろ、パズルを解くような楽しさすら感じるようになる。

明日も良いバグハンティングを 🐛