AI Assistantで実現するレビュアーの負荷軽減とコードレビュー「統一基準」

エンジニアにとって避けて通れないコードレビューですが、最近その工数で悩むことが多いと感じています。
特に若手メンバーの参加が増えてきており、レビューで学習段階特有の品質課題や基礎的なロジックの不整合が目につくことが多くなってきています。その結果、マージリクエストをレビューするのに何ターンも往復することもあり、それによりレビュアーの負担も増えることとなっております。
この非効率な往復を少しでも解消をさせるため、「マージリクエストを上げる前に、自らコードの質を高める」仕組みを作ることができないかと検討をしています。

プロンプトライブラリを使ってみる

開発ではJetBrains IDE(IntelliJ IDEA / PHPStorm)を利用しております。
そのためAI Assistantを活用し、開発メンバーがコミット前に同じ観点でセルフレビューを行うことができないかと考え、今回は「プロンプトライブラリ」を試してみることにしました。

今回は「チャットアクション」に「コードレビュー」を追加し、これに共通のレビュー基準をプロンプトとして登録して使用できるようにしてみます。
設定から「ツール > AI Assistant > プロンプトライブラリ」を選択し、以下の内容をプロンプトに登録します。

【共通のレビュー基準のサンプル】

  1. セキュリティ: SQLインジェクションやXSSなど、ユーザー入力の処理に問題がないか。
  2. 保守性/可読性: 命名規則、関数の複雑度が適切か。
  3. パフォーマンス: N+1問題やループ処理で非効率な箇所がないか。
  4. 共通化/DRY原則: 類似の処理が既存のサービスやヘルパー関数で再利用できないか。

登録が完了したら実際に「コードレビュー」を実行してみます。
ソースファイルを開き、レビューを行う関数で「右クリック > AIアクション」を選択するとメニューに「コードレビュー」が表示されました。

レビュー対象の関数を選択して実行すると、AIチャットに選択した関数に対して登録したレビュー基準のプロンプトを入力・実行することができました。

まとめと今後の展望

プロンプトライブラリを試したことで、「簡単な操作で、開発メンバーが同じ基準のセルフレビューができる」という選択肢になりえると感じました。
実際に使用する際には、静的チェックでは見つけられない設計や共通化といった高度な観点もチェックしてもらえるようにプロンプトは工夫をしていきたいと思います。
また今後はGitLab CI/CDでのチェックも検討し、静的チェックとAIレビューと併用して、レビュー作業の負荷軽減や品質向上に繋げていけたらよいと考えております。

--------------------------
開発支援・技術研修のご要望・ご相談はこちらから
--------------------------
【この技術ブログを読んだエンジニアの皆様へ】
カサレアルブログをお読みいただき、ありがとうございます!

私たちは、常に新しい技術に挑戦し、ユーザーのニーズに応えるサービスを提供しています。
もし、当社の技術への情熱や、会社・チーム・社員の雰囲気に共感いただけたなら、
ぜひ私たちと一緒に働きませんか?
現在、株式会社カサレアルでは事業拡大に伴い、新たな仲間となるエンジニアを積極的に募集しています。

少しでも興味をお持ちいただけましたら、まずは弊社のことを知っていただけると嬉しいです。
▼採用サイト
https://www.casareal.co.jp/recruit/career
▼社員インタビュー
https://hrmos.co/pages/casareal/jobs/0000016
▼エンジニアの仲間になる! エントリーはこちらから
https://hrmos.co/pages/casareal/jobs

皆様のエントリーを心よりお待ちしています!

[Androidアプリ開発] Jetpack ComposeでrememberやmutableStateOfの違い

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

コメント ※

名前 ※

メール ※

サイト