AIコーディング
vibe codingのコードレビューとリファクタリング
AIが生成した変更からバグ、セキュリティリスク、データフローの問題、不足しているテスト、アクセシビリティの不備を見つけ、安全にリファクタリングするための実践的なvibe coding向けコードレビューワークフローです。
AIが生成したコードは、デモの経路では動作しても、誤った前提を内側に隠している場合があります。優れたvibe codingのコードレビューでは、スタイルの好みより先に、バグ、セキュリティ、データフロー、テスト、アクセシビリティ、パフォーマンス、保守性といった動作上のリスクを探します。
このガイドでは、vibe codingのセッション後に安全にレビューし、リファクタリングする方法を説明します。目標はAIが生成したコードを拒否することではありません。内容を説明でき、テスト、保守、変更を安心して行えるコードへ変えることです。
このガイドの対象者
- AIが生成したプルリクエストをレビューする開発者
- vibe codingで構築したMVPを実際のユーザー向けに準備する創業者
- AIプロトタイプを保守可能な機能へ変えるプロダクトチーム
- コードをエンジニアへ渡す前にレビュープロンプトを必要とするデザイナーやオペレーション担当者
- 動作している挙動を壊さず、安全にリファクタリングしたいチーム
ステップごとのワークフロー
- まずユーザーの挙動を確認します。何が変わり、何が動作するべきで、何が壊れる可能性があるかを把握します。
- 編集する前に、重要度順でレビュー所見を列挙するようAIに依頼します。
- バグ、セキュリティ、データフロー、テスト、アクセシビリティ、パフォーマンス、保守性を確認します。
- 認証境界、秘密情報の扱い、データベースへの書き込み、APIの検証、破壊的な操作を確認します。
- 不足しているテストや手動確認の経路を特定します。
- スタイルの整理より先に、リリースを妨げる問題を修正します。
- テストまたは正確な手動確認で動作を保護してから、安全にリファクタリングします。
- リファクタリングは、動作を変えずに名前を変更する、抽出する、重複を除く、ロジックを移動するなど、範囲を狭く保ちます。
- リファクタリングのグループごとに検証します。
- 修正した所見、実行したテスト、残っているリスクを短くまとめてレビューを終えます。
推奨ツール
コードレビューとリファクタリング用プロンプトテンプレート
AIコーディングのセッション後に、次のプロンプトを使います。
Review the current change as a senior engineer. Focus on bugs, security, data flow, tests, accessibility, performance, and maintainability. List review findings first, ordered by severity, with file references where possible. Do not refactor yet.
After findings are clear, propose the smallest fixes. Only refactor safely after the behavior is protected by tests or a precise manual verification path. Avoid unrelated style changes, dependency changes, environment variable changes, and broad rewrites.
リファクタリング用プロンプトテンプレート
動作をすでに検証している場合は、次のプロンプトを使います。
Refactor safely without changing behavior. The goal is [specific cleanup]. Preserve public routes, API contracts, tests, styles, and existing user workflows. Keep the diff small. Explain why each file changes and run the verification command after the refactor.
レビューとリファクタリングのチェックリスト
- レビューでバグ、セキュリティ、データフロー、テスト、アクセシビリティ、パフォーマンスを確認しましたか?
- 所見は好みではなく重要度順に並んでいますか?
- 認証、秘密情報、APIの検証、データベースへの書き込みを確認しましたか?
- 各リファクタリングは具体的な保守性の問題と結び付いていますか?
- 動作の変更と整理の変更を分けていますか?
- 修正後とリファクタリング後に検証しましたか?
- 最終的な差分は人がレビューできるほど小さくなっていますか?
よくある間違い
- レビュー所見が明確になる前に、AIへ"clean up the code"と依頼する
- バグ修正とリファクタリングを1つの大きな差分へまとめる
- コンパイルできるという理由で、生成コードを安全だと扱う
- UIの見た目だけをレビューし、データフローを無視する
- デスクトップのデモが動くという理由で、アクセシビリティとモバイルでの挙動を省く
- プロジェクトがすでに解決している問題のために、AIへ依存関係を追加させる
- より強力なテストスイートがないまま、広範な書き直しを受け入れる
実践例
弱いプロンプト:refactor this AI-generated dashboard.
改善したプロンプト:review the AI-generated dashboard changes first. Look for bugs, security issues, data flow mistakes, missing tests, accessibility gaps, performance problems, and code that is hard to maintain. List review findings by severity. Do not refactor until blockers are fixed. After that, extract repeated card markup into one component without changing behavior, then run the dashboard test and production build.
改善したプロンプトは、レビュー所見と整理を分け、安全なリファクタリングを検証済みのワークフローへ組み込んでいます。
FAQ
Q: vibe codingで加えた変更は、すべてコードレビューするべきですか? A: 重要な変更はレビューするべきです。公開ページ、認証、支払い、データベースへの書き込み、APIルート、ユーザーデータ、SEOページは、ローンチ前にレビューする価値があります。
Q: AIが生成したコードを安全にリファクタリングできるのはいつですか? A: 動作を検証してからリファクタリングします。自動テストがない場合は、正確な手動確認の経路を使い、リファクタリングを小さく保ってください。
Q: レビュアーは何を優先するべきですか? A: 名前やスタイルの好みより、正しさ、セキュリティ、データの所有権、検証、アクセシビリティ、パフォーマンス、保守性を優先します。
Q: AIは自分が書いたコードをレビューできますか? A: 支援はできますが、最終承認として扱ってはいけません。AIでリスクを洗い出し、テスト、ビルド出力、人によるレビューで所見と修正を検証してください。