ラバーダックデバッグ 【rubber duck debugging】
概要
ラバーダックデバッグ(rubber duck debugging)とは、コンピュータプログラムの誤りを見つけて修正するデバッグ手法の一つで、プログラマがアヒルのおもちゃに向かってコードの内容を説明し、頭の中を整理する手法。「ラバーダック」(rubber duck)とは、ゴムやポリ塩化ビニルなど柔らかい防水素材でできたアヒルのおもちゃで、英語圏では子どもがお風呂やプールに浮かべて遊ぶ定番おもちゃの代名詞的な存在としてよく知られている。
プログラマはラバーダックを持ち歩いてデバッグ時に傍らに置き、コードの内容を一つずつ説明する。それぞれの記述がどのような挙動を行うかを口に出して他者に説明することで、黙って画面を眺めていたときには見過ごしていた矛盾や誤りに気が付いたり、思考が整理されて解決策が浮かんだりすることがある。
考えが行き詰まったときに上司や同僚などの他人に説明すると、ただ聞いてもらうだけでも頭の中が整理されて解決策や良いアイデアが思い浮かぶことがあるという経験則は以前から知られており、「壁打ち」などと呼ばれることもあるが、「聞いてもらう相手」はそもそも人間でなくても一定の効果があるという考えに基づいた手法である。
(2023.12.20更新)