0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

え、まだAIでコードレビューを自動化してるんですか?動画では言えなかった補足

0
Last updated at Posted at 2026-07-25

はじめに

「コードレビュー、毎回時間がかかって大変で」

え、まだコードレビューを全部人力でやってるんですか?初期チェックをAIに任せると1PRあたり平均20分の節約になります

この記事で解決すること

動画「【AI】AIでコードレビューを自動化」の補足記事です。
動画では時間の都合で触れられなかった詳細を解説します。


問題:なぜこれが危険なのか

え、まだコードレビューを全部人力でやってるんですか?初期チェックをAIに任せると1PRあたり平均20分の節約になります


解決策:明日から使えるベストプラクティス

PR作成時にAIへコードを貼り、『バグ・セキュリティ・可読性を観点にレビューして』と依頼する

以下は、「AIを活用したコードレビュー」というテーマで、危険性とベストプラクティスを伝えるための具体的なコード例です。


問題:なぜこれが危険なのか

え、まだコードレビューを全部人力でやってるんですか?

人によるコードレビューは重要ですが、単純なミスやセキュリティ上の問題まで人が最初から確認すると時間がかかります。

AIに初期レビューを任せることで、

  • バグの可能性
  • セキュリティリスク
  • 可読性
  • ベストプラクティス違反

を事前に洗い出し、人間は設計や仕様のレビューに集中できます。


PRのコード(Before)

def login(user, password):

    sql = f"SELECT * FROM users WHERE name='{user}' AND password='{password}'"

    result = db.execute(sql)

    if len(result) > 0:
        print("Login Success")
        return True

    return False

人力レビューだけだと見落としやすい点

  • SQLインジェクション
  • パスワード平文比較
  • エラー処理なし
  • ログなし
  • 型ヒントなし
  • 戻り値の説明なし

AIへのレビュー依頼

以下はPull Requestのコードです。

以下の観点でレビューしてください。

・バグ
・セキュリティ
・可読性
・パフォーマンス
・Pythonベストプラクティス
・保守性
・改善案

修正コードも提示してください。

AIレビュー結果(例)

【重大】

SQLインジェクションがあります。

f文字列でSQLを組み立てています。

プリペアドステートメントを利用してください。

------------------------

【重大】

パスワードを平文比較しています。

ハッシュ化(password_hash等)してください。

------------------------

【改善】

型ヒントを追加してください。

------------------------

【改善】

例外処理を追加してください。

------------------------

【改善】

認証ログを記録してください。

AIが提案する改善コード

from werkzeug.security import check_password_hash

def login(username: str, password: str) -> bool:

    sql = """
        SELECT password_hash
        FROM users
        WHERE name = ?
    """

    user = db.execute(sql, (username,)).fetchone()

    if not user:
        return False

    return check_password_hash(
        user["password_hash"],
        password
    )

AIにさらに依頼する

このコードについて

・重大
・中
・軽微

に分類してください。

修正優先順位も教えてください。

GitHubレビューコメント形式で出力してください。

GitHubレビューコメント例

🔴 Critical

SQLインジェクションがあります。

parameter bindingを利用してください。

--------------------

🟠 Medium

認証ログを追加してください。

--------------------

🟢 Minor

変数名userはrecordの方が分かりやすいです。

--------------------

🟢 Minor

関数コメントを追加してください。

明日から使えるベストプラクティス

PRを作成したら、その差分をAIに貼り付け、次のようなプロンプトで一次レビューを依頼すると効率的です。

このPull Requestをレビューしてください。

【レビュー観点】
・バグ
・セキュリティ(OWASP Top 10を考慮)
・パフォーマンス
・可読性
・保守性
・SOLID原則
・設計上の問題
・例外処理
・命名規則
・テスト不足

以下の形式で回答してください。

1. 問題点
2. 影響度(Critical / High / Medium / Low)
3. 修正理由
4. 修正コード
5. ベストプラクティス

このようにAIを「一次レビュアー」として活用し、その後に人が仕様・設計・ビジネスロジックを中心に確認する運用にすると、レビューの質と効率を両立しやすくなります。


まとめ

全人力レビューを卒業して、AIを初期レビュアーとして活用しましょう!

#まだやってるんですか #コードの女神はみた #プログラミングスキル


動画で見る

YouTubeショート動画でも同じテーマを解説しています👇

https://youtube.com/shorts/sDYmHWUHIEI

チャンネル登録・高評価もよろしくお願いします 🔔


この記事は「コードの女神は見た!」チャンネルの連動記事です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?