ラバーダック・デバッグは、コードを誰かに順番に説明することで、自分の思い込みへ気づく方法です。相手は詳しい人でなくても構いません。
説明する順番
- この処理の目的
- 入力がどこから来るか
- 各条件が何を判定するか
- 値がどう変わるか
- 成功時と失敗時の出力
「ここは当然こうなる」と説明を飛ばした場所に、未確認の前提が隠れます。
例
ボタンを押すとsubmitが発生する。
submitでformDataを作る。
ここでemailを取得するはず……取得コードがnameではなくidを見ている。
説明中に原因へ気づいても、最初からやり直す必要はありません。気づいた前提を確認します。
AIへ説明する時にも使える
AIへコードだけ貼る前に、自分で処理を説明してから質問文へ入れます。説明できない箇所が、確認してほしい範囲です。
説明できることは、暗記ではなく処理のつながりを理解している証拠になります。