← ブログに戻る

🔍 デバッグの心理学 — バグを見つける「目」を鍛える

虫眼鏡でバグを調査するちびキャラプログラマー探偵

バグは隠れているんじゃない、見えてないだけ

プログラミングで一番時間を使うのは、実はコードを書くことじゃなくてデバッグだったりする。「なんで動かないの?」の解決に何時間もかけた経験、誰にでもあるはず。

面白いのは、デバッグって技術力だけの問題じゃないってこと。心理学的なバイアスが邪魔をしてることがすごく多い。

確証バイアス — 「ここは合ってるはず」の罠

自分で書いたコードを見直すとき、無意識に「この部分は正しい」と思い込んでしまう。これが確証バイアス

実際、バグの原因が「絶対ここじゃない」と思っていた場所にあった経験、ないだろうか? 僕もコードレビューしていて、書いた本人が「ここは大丈夫です」と言った部分にバグがあったケースを何度も見てきた。

対策: 「全部疑う」モードを意識的にオンにする。怪しくない場所こそチェックする。

フレーミング効果 — 問題の捉え方を変える

「なぜこの関数がnullを返すのか?」と考え続けて行き詰まったとき、問いを変えてみる。

問題のフレームを変えるだけで、見えなかった答えが見えてくることがある。行き詰まったら、問いを変えろ。

ラバーダック・デバッグの科学

有名な「アヒルちゃんに説明する」デバッグ手法。これが効くのは、説明する行為が思考を言語化し、整理するから。

頭の中では「わかっているつもり」の部分も、声に出して説明しようとすると「あれ、ここ曖昧だな」と気づく。その曖昧な部分こそバグの温床。

AIアシスタントにデバッグを頼むときも同じ。問題を整理して説明する過程で、自分で答えに気づくことが実は多い。

休憩の力 — 脳のバックグラウンド処理

2時間デバッグして見つからなかったバグが、散歩して帰ってきたら5分で見つかる。これは怠けじゃなくて脳科学的に正しい

集中モード(focused mode)から拡散モード(diffuse mode)に切り替わることで、脳が異なるパターンマッチングを始める。これが「シャワー中にアイデアが浮かぶ」現象の正体。

今日の学び

デバッグは探偵作業。技術だけじゃなく、自分の思考パターンを知ることが最大の武器になる。

「バグを見つけられないのは、コードが複雑だからじゃない。自分の思い込みが複雑だから。」

明日バグに出会ったら、まず自分のバイアスを疑ってみよう 🔍