ChatGPTで「コードレビュー」を効率化する方法|現場で使える実践テクニック
こんにちは!
今日は「ChatGPTで『コード レビュー』を効率化する方法」について解説します。
現場で起こる「コードレビューの時間圧力」
Web制作の現場で働いていて、ほんま困るのが「コードレビューの時間がない」という問題やん。
新人さんが書いたコードをチェックしたいけど、自分のタスクもあるし、クライアント対応もあるし…となると、ついつい表面的なチェックだけで済ませちゃったりするんです。
僕も昔は、後輩のコードを軽くスクロールして「いいね、マージしていいよ」みたいなことしてました。
でも数週間後に、その時のコードが原因でバグが発生。
ほんまに反省した経験があります。
現場あるあるをお話しすると、こんな悩みがよくあるんです。
- 新人さんのコードは細かいチェックが必要だけど時間がない
- セキュリティ関連の脆弱性を見落とすことがある
- パフォーマンスの問題点に気づかない場合がある
- コーディング規約の統一性をチェックするだけで疲れる
こういう時こそ、ChatGPTの出番なんです。
AIに「初期チェック」をさせることで、僕たちの時間を本当に大事な判断に使えるようになります。
ChatGPTをレビュー助手として活用する3つのポイント
ポイント1:「目的を明確に指定する」
ChatGPTにコードを丸ごと渡して「レビューして」と言うだけでは、めっちゃ効果が薄いです。
重要なのは「何をチェックしてほしいのか」を具体的に伝えることなんです。
例えば、こういう感じで指示するといいですよ。
- 「パフォーマンスの問題をチェックしてください」
- 「セキュリティ脆弱性があるかどうか確認してください」
- 「可読性を損なうコードがあったら指摘してください」
- 「メモリリークの可能性がないか調べてください」
このように焦点を絞ると、ChatGPTは本当に精度の高い指摘をしてくれるんです。
ポイント2:「コンテキストを与える」
単なるコードの断片より、「どういう目的のコード」「どのプロジェクト」「どのフレームワーク」といった背景情報があると、ChatGPTの提案がめっちゃ実践的になります。
例えば、React案件なら「React 18を使っています」とか、Next.jsなら「App Router を使っています」みたいに伝えるといいですよ。
そうするとそのフレームワークに最適な指摘がもらえるんです。
ポイント3:「複数回のやり取りを活用する」
最初の指摘をもらった後、「このコードを改善するとしたら、具体的にどう書きますか?」とか「なぜそうするんですか?」と深掘りすることで、学習効果も高まります。
これは後輩指導という観点でも、ほんま有効なんです。
実際のコード例と実践的なプロンプト
実例:React コンポーネントのレビュー
こんなコンポーネントがあるとします。
const UserProfile = ({ userId }) => {
const [user, setUser] = React.useState(null);
const [loading, setLoading] = React.useState(false);
React.useEffect(() => {
setLoading(true);
fetch(/api/users/${userId})
.then(res => res.json())
.then(data => {
setUser(data);
setLoading(false);
})
.catch(err => console.log(err));
}, [userId]);
if (loading) return <div>Loading...</div>;
if (!user) return <div>Not found</div>;
return (
<div>
<h1>{user.name}</h1>
<p>{user.email}</p>
</div>
);
};
このコードをChatGPTに送る時は、こんなプロンプトを合わせます。
「このReact 18コンポーネントを以下の観点からレビューしてください。
1. パフォーマンスの問題
2. 潜在的なバグやエラーハンドリングの不足
3. ベストプラクティスからの逸脱
それぞれの問題に対して、改善案もお願いします。」
そうするとChatGPTは、こんな感じの指摘をしてくれるはずです。
useEffectの依存配列にuserIdしかないのに、クリーンアップ処理がない(コンポーネント アンマウント時にメモリリークの可能性)- エラーハンドリングが
console.log(err)だけで、ユーザーへのエラー表示がない - ローディング中とエラー状態の両立が可能な状態になっている(状態管理が不完全)
- APIレスポンスの型チェックがない
こういった指摘って、本人が気づくまでには時間がかかるんですよ。
でもChatGPTならパッと指摘してくれる。
だから僕たちはそれを見て「あ、そっか」と納得して、改善方法を聞くみたいな流れができるんです。
実践的なプロンプトのテンプレート
僕が実際に使ってるテンプレートを共有しますね。
「以下のコードについて、{チェック項目}をレビューしてください。
プロジェクト環境:{フレームワーク}、{バージョン}
{コード}
各問題について:
1. 何が問題なのか
2. なぜ問題なのか
3. 具体的な改善コード
を教えてください。」
このテンプレートを使うと、ChatGPTの回答がほんま構造化されて、活用しやすくなるんですよ。
レビュー結果をチーム全体で活用する
ChatGPTの指摘結果って、後輩さんへの学習教材にもなるんです。
「ChatGPTがこう指摘してるから、こういう点に気をつけようね」という話ができます。
これまでは「なぜこう書くのか」という理由を説明するのに時間がかかってたけど、ChatGPTが「セキュリティ上の