6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 7

生成AI時代だからこそラバーダックデバッグをお勧めしたい

Posted at

はじめに

ここ数年で、CursorやChatGPTなどのAIを利用してコーディングすることが増えたが、

それと同時に生成されたコードをコピーペーストするだけでそのまま動いてしまうこともあり、

頭で考えずに、コーディングすることも多くなった。

そのため、AIを使用したコードの理解や説明できていないなぁと思う場面もある。

この課題を解決するために最近、ラバーダックデバッグを取り入れている。🐤

ただ、無心でAI使っていたころよりは、理解が深まったような気がするのでおすすめしたい。

ラバーダックデバッグとは🪿🐥

ソフトウェア開発におけるデバッグ手法の一つで「人に説明するようにコードを一行ずつ声に出して説明する」ことで、バグを発見しやすくするというものです。

  • なぜアヒルなのか?(github.blogより)

この話の始まりは1999年、アンドリュー・ハントによって出版された書籍 The Pragmatic Programmer に遡ります。そこには、あるコンピュータープログラマーが、ある日おもちゃのアヒル(ラバーダック)を目の前に置き、自分のコードを一行一行説明したというエピソードが書かれていました。
コードを声に出して説明するプロセスが、その開発者に自分のコードをより理解させ、洞察を深める助けになったのです。なぜなら、ラバーダックは決して口を挟まないからです!
この技法は広まりました。今では「ラバーダックデバッグ」や「ラバーダッキング」と呼ばれています。

生成AI時代のラバーダックデバッグのメリット

(下記は、個人の感想です。)

  • ラバーダックデバッグするために、無心で生成AIの結果をコピペすることが減り、説明できるくらいまで調査することが増えた。
  • ラバーダックデバッグを行うことで、生成AIが出力したコードやテキスト、その他のデータを一つずつ丁寧に説明する過程で、コード、ロジックへの理解や言語化する力が伸びた。
  • 理解度、説明力が上がることで、「生成AIに依存し過ぎている感」が減った。
  • 生成AIの出力結果の微妙な誤りやミスに気づくことが多くなった。
  • 説明力も付くので、入力プロンプトする質も向上して、意図した回答を得れるようになった。

おわりに

まだ、取り入れて数か月程度だが、

口を動かし、声に出すことで、コードが記憶にも残りやすくなった気がする。

実際、業務でコードの質問を受けても、今までは言語化するのに、

つまる場面もあったが、以前と比較して改善してきたように思える。💪

筆者の愛用にアヒル

生成AI時代だからこそラバーダックデバッグをお勧めしたい_01.jpg

(在宅は大丈夫ですが、オフィスなど周囲に人がいてラバーダックデバッグすると

フィギュアに話しかける不思議ちゃん😇になるので、気をつけてください)

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?