ラバーダック・デバッグを楽にするラバーダック「ラバーダッ君」を作った話
この記事は IoTLT Advent Calendar 2023 20日目の記事となります。
こんにちは。 @daiking1756 です。 もう12/20は過ぎてしまったのですが、どうやら空き枠があるという噂を聞いたので書くことにしました。
3行まとめ
- ラバーダッキングを楽にするプロトタイプを作ることができた
- ネタ帳の1つを消化できた
- ハイテク風をローテクで再現することができた
作ったもの
ラバーダック・デバッグとは
たまたま私の職場ではラバーダッグ・デバッグとかラバーダッキングという言葉が日常的に使われているのですが、 そうでない方も多いと思うので、ここでWikipedia先生に定義を聞いてみようと思います。
ラバーダック・デバッグ(英語: Rubber duck debugging)とは、ソフトウエア工学におけるコードのデバッグ手法である。ラバーダック・デバッグは、アンドリュー・ハントとデビッド・トーマスの共著によるThe Pragmatic Programmer[1]という本で紹介された、プログラマーがラバー・ダック(アヒルちゃん)を持ち歩きアヒルちゃんに向かってコードを1行ずつ説明することによりデバッグを行うという話が由来である。この手法には、他にも多くの別名があり、しばしば様々な無生物が用いられている。
とのことです。 つまり、「人に考えていることを話しているうちに、話していることが整理されて、やるべきことが明確になり、自分で問題解決したり前に進んだりできるようになる」という感じです。 割りとプログラミングに限らず、こういう経験ある方って多いんじゃないかなーと思います。 ただ、人に聞いてもらうと、聞いてもらう側の人に毎回頼むのが申し訳ないので、ラバーダック(おもちゃのあひるちゃん)に話しかけようというのがラバーダック・デバッグです。
既存のラバーダック・デバックの課題
圧倒的寂しさ
寂しい!やっぱり何も返答が無いのは寂しい!
フィードバックが無い
うまくいくかどうかはその時次第。
分かり易い文章の特徴に注目
一つの文が短くまとまっているほど、整理して話しているという特徴を利用して作ってみたのがラバーダッ君でした。
まとめ
今年も作りたいネタ帳の中の1つを消化できて良かった。 来年も新しいネタを作りつつ、既存のネタを消化していきたい。