ChatGPTでコードレビューが可能?
ChatGPTはOpenAIが提供しているテキストベースの対話型AIです。このツールはAIツールとして世界的に有名なため、すでに利用したことがある方も多いでしょう。
そんなChatGPTは、実はコードレビューにも活用できます。
本記事では、ChatGPTをコードレビューで利用するメリットや、利用方法、よくある疑問についてまとめました。エンジニアの方や、現在プログラミング言語を学んでいる方は、ぜひ参考にしてください。
【参考】:ChatGPT公式
ChatGPTでコードレビューするメリット
ChatGPTを利用してコードレビューができると紹介しましたが、なぜAIにコードレビューさせる必要があるのでしょうか。ここでは、ChatGPTを利用して、コードレビューをするメリットを解説します。
フィードバックまでの時間が短い
ChatGPTは、リアルタイムで返答を生成してくれるため、非常に短い時間でコードレビューを行えます。
本来、人間がコードのレビューをする場合は1行ずつコードを丁寧に見ていくため、非常に時間がかかります。しかし、これをChatGPTに実行させると、開発の工数を大幅に削減することができます。
レビュアーが多忙な開発現場では、コードのフィードバックをもらうまでに非常に時間がかかります。このような時、ChatGPTは特に重宝するツールだと言えるでしょう。
人間のレビュアーとは違ったアドバイスがもらえることも
ChatGPTはプログラムに関する知識を体系的に持っているため、広い視点でアドバイスをすることができます。具体的には、ChatGPTを利用すれば、アルゴリズムやパフォーマンスを意識したコードのレビューを行えます。
一方で人間がコードレビューをする場合、文法的な側面でのコードレビューが中心となりがちです。また、レビューする方のスキルによって、コードの質が変動する可能性もあります。
以上の点を踏まえても、ChatGPTとレビュアーを併用してコードレビューをすると、より高品質な納品物を制作できます。
効果的に教育を行うことができる
新人教育や知識を習得する際にも、ChatGPTのコードレビュー機能が役に立つでしょう。
例えば、新人がコードレビューを依頼する時に、普段であれば担当のレビュアーと予定を調整する必要があります。忙しい開発現場ではこのような時間を確保するのが大変ですが、ChatGPTを活用すればコードの評価をAIが行ってくれるため、効果的に学習を進められます。
ただし、ChatGPTのコードレビューが100%正しいとは限りませんので、上司やレビュアーからの教育と併用してツールを活用しましょう。
ChatGPTでコードレビューする方法
ChatGPTのメリットについて分かったところで、実際にコードレビューする方法を学んでいきましょう。
この時、事前にChatGPTへのサインアップが求められます。まだサインアップの手続きをしたことがない方は、本記事で手順を紹介しますので先に登録を済ませましょう。
サインアップする
では、サインアップの手順を紹介します。すでにアカウントのある方は、先の手順に進んでください。
はじめにOpenAIのサイトにアクセスします。図のようなサイトが表示されたら、画面右上の「Get started」(始めましょう)のリンクをクリックしましょう。
クリックすると、「Create your account」(あなたのアカウントを作成する)と表示されますので、メールアドレスまたは、Google、Microsoft、Appleのいずれかでサインアップしてください。
登録が完了したら、再度公式サイトにアクセスしてログインしてください。ログインすると、下図のような画面が表示されますので、「ChatGPT」のエリアをクリックしましょう。
すると、AIと対話するページが表示されます。これで、ひとまずログインが完了したことが確認できました。次の手順では、実際にこのページを利用してコードレビューする手順を解説します。
【参考】:ChatGPT公式
対話モードを利用してコードレビューを行う
ChatGPTは対話型のAIですので、対話モードのページを利用してコードをレビューします。具体的な方法を紹介しますので、ぜひ一緒に手を動かしてみましょう。
ログイン後、ChatGPTを起動して画面下のメッセージ入力欄に、プログラミング言語の種類と、コードレビューをするように指示します。本記事では「以下のコードはPythonのコードです。このコードをレビューしてください。」と入力しました。
さらに、そこに続けてサンプルコードを記述してみましょう。コードの内容は、任意のもので結構です。ただし、ここではあえて文法的な間違いを含めたコードを記述しました。
実際にコードをレビューさせた結果は下図の通りです。ChatGPTはコードの問題点を指摘し、さらに修正版のコードを表示しました。
【参考】:ChatGPTの使用例 バグの発見
コードのパフォーマンスを向上させる
先ほどのコードレビューでは、ChatGPTは与えられたコードから簡単なバグを修正しました。しかし、ChatGPTのコードレビューでは、コードのパフォーマンスを向上させることも可能です。ここでは、ChatGPTを利用してコードの効率を向上させましょう。
例えば、下図のように「以下のコードはJavaScriptで記述されたコードです。以下のコードのパフォーマンスを向上させるために必要な改善点を教えてください。」と入力します。さらに、続けて簡単なコードを同じメッセージ内に記述してください。
ちなみにコードの内容は、任意のもので結構です。
すると、既存のコードをより良いものにするための提案をしてくれました。下の図がChatGPTの回答です。
このように、ChatGPTではコードのバグ修正だけでなく、パフォーマンス改善を含めてコードレビューを依頼できると分かりました。
【参考】:ChatGPTの使用例 コード効率の向上
ChatGPTでコードレビューする際によくある疑問
ここからは、ChatGPTを活用したコードレビューに関する疑問を紹介します。こちらもぜひ参考にして下さい。
VSCodeを利用してコードレビューすることは可能か
開発をするエンジニアの中には、開発ツールにVSCodeを利用している方も多いでしょう。そのような方は、ChatGPTとVSCodeの連携方法が気になるのではないでしょうか。
結論から言うと、ChatGPTは、VSCodeと連携して使用できます。VSCode上で連携させたい場合、拡張機能を使います。参考ページの「ChatGPT - Genie AI」は、その拡張機能の一例です。興味のある方は、このようなツールを利用して連携させてみましょう。
【参考】:ChatGPT - Genie AI
Javaのソースもコードレビューしてくれるか
ChatGPTでは、ポピュラーなプログラミング言語であればレビューが可能であるため、もちろんJavaのコードレビューも可能です。
下図は、実際にコードレビューを依頼した結果です。「以下のコードはJavaのコードです。このコードレビューをしてください。」と入力した後に、サンプルコードを合わせて入力しました。
すると、いくつか改善点が返ってきました。さらに、修正版のコードも表示してくれました。つまり、Javaでコードレビューをすることは可能と言えるでしょう。
GitHubから利用することは可能か
結論から言うと、GitHubを利用してコードを共有することは可能です。ちなみに、GitHub以外のGitLab、Bitbucketといったサービスからも、コードを共有することが可能です。
しかし、この2つを連携させるためには、APIが必要となります。また、使用する言語によってライブラリが異なりますので、詳しく知りたい方は、参考ページのドキュメントを参照してください。
【参考】:ChatGPT ドキュメント 【参考】:ChatGPT APIリファレンス
ChatGPTを活用してコードレビューを効率的に行おう
ChatGPTを利用すれば、AIがコードのレビューを行うため、少ない工数で開発作業を進められるとわかりました。
また、この機能は自分の上司にレビューしてもらう前の、セルフチェックとしても利用できます。さらにChatGPTは基本的に無料で利用できるため、普段開発を行っている方は、ぜひこの機会にChatGPTでコードレビューを試してみましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから