告白デバッグ

わからない時に人に話すと勝手に自分で解決しちゃうということがよくありますよね。 このような現象に告白デバッグ(Confessional debugging)という名前がついていることを教えてもらったので少し調べてみました。

告白デバッグとは

Confessional debuggingと調べてみると、1993年に書かれたスティーブマコネルのCODE COMPLETEに出てきていることがわかりました。

Talk to someone else about the problem. Some people call this “confessional debugging.” You often discover your own error in the act of explaining it to another person.

その問題について誰かに相談する。これを「告白デバッグ」と呼ぶ人もいます。自分のミスを他人に説明することで、自分のミスを発見することがよくあります。

告白デバッグをするときは相手は何もせずとも、勝手に自分自身で問題を解決することができます。 

私も先日、

私 :「なんでエラーになるかわからないので聞いてもらっていいですか?」
先輩:「エラー起こしてみて」
私 :「この辺でエラー起こっているんですよね」
先輩:「この辺っぽいね」
私 :「こっちではエラーにならないのに、こっちではエラーになるんですよね」
先輩:「なるほどね」
私 :「あっ、わかりました!なんかすみません。。。」
先輩:「こういうの、コンフェッショナルデバッキングっていうよね」

と話しただけで解決してしまいました。

わからない時こそ、説明する

告白デバッグでは人に説明する時に、詳しく説明する必要があるため、より深い理解ができ、解決策を思いつくという方法です。

調べていると「ラバーダックデバッグ」や「テディベア・デバッグ」などという言葉もあることがわかりました。これらは机の上にラバーダック(アヒルのおもちゃ)やテディベアをおき、一つ一つ説明してあげることで問題解決ができる手法です。

ja.wikipedia.org

確かに、私の場合でも相槌を打ってもらっているだけで解決できたので、人でなくても良いのかもと思いました。

最後に

CODE COMPLETEは読んだことがなかったのですが、少し興味が出ました。 でも、上下巻に分かれているし、めっちゃ厚いからなぁ。。。