daiking note

作ったもの、参加したイベント、日常を書きます

ラバーダック・デバッグを楽にするラバーダック「ラバーダッ君」を作った話

この記事は IoTLT Advent Calendar 2023 20日目の記事となります。

こんにちは。 @daiking1756 です。 もう12/20は過ぎてしまったのですが、どうやら空き枠があるという噂を聞いたので書くことにしました。

3行まとめ

  • ラバーダッキングを楽にするプロトタイプを作ることができた
  • ネタ帳の1つを消化できた
  • ハイテク風をローテクで再現することができた

作ったもの

protopedia.net

バーダックデバッグとは

たまたま私の職場ではラバーダッグ・デバッグとかラバーダッキングという言葉が日常的に使われているのですが、 そうでない方も多いと思うので、ここでWikipedia先生に定義を聞いてみようと思います。

バーダックデバッグ(英語: Rubber duck debugging)とは、ソフトウエア工学におけるコードのデバッグ手法である。ラバーダックデバッグは、アンドリュー・ハントとデビッド・トーマスの共著によるThe Pragmatic Programmer[1]という本で紹介された、プログラマーがラバー・ダック(アヒルちゃん)を持ち歩きアヒルちゃんに向かってコードを1行ずつ説明することによりデバッグを行うという話が由来である。この手法には、他にも多くの別名があり、しばしば様々な無生物が用いられている。

ja.wikipedia.org

とのことです。 つまり、「人に考えていることを話しているうちに、話していることが整理されて、やるべきことが明確になり、自分で問題解決したり前に進んだりできるようになる」という感じです。 割りとプログラミングに限らず、こういう経験ある方って多いんじゃないかなーと思います。 ただ、人に聞いてもらうと、聞いてもらう側の人に毎回頼むのが申し訳ないので、ラバーダック(おもちゃのあひるちゃん)に話しかけようというのがラバーダックデバッグです。

既存のラバーダック・デバックの課題

圧倒的寂しさ

寂しい!やっぱり何も返答が無いのは寂しい!

フィードバックが無い

うまくいくかどうかはその時次第。

分かり易い文章の特徴に注目

一つの文が短くまとまっているほど、整理して話しているという特徴を利用して作ってみたのがラバーダッ君でした。

まとめ

今年も作りたいネタ帳の中の1つを消化できて良かった。 来年も新しいネタを作りつつ、既存のネタを消化していきたい。