AIコードレビュー指示プロンプト
中級
このプロンプトでできること
AIにコードレビューを依頼する際の指示テンプレートです。レビュー観点を明確化し、一貫性のあるフィードバックを得られます。
プロンプト
以下のコードをレビューしてください。
【レビュー対象】
{コードまたはファイルパス}
【レビュー観点】
以下の観点で確認し、問題があれば指摘してください:
1. 正確性(Correctness)
- ロジックに誤りはないか
- エッジケースは考慮されているか
- エラーハンドリングは適切か
2. パフォーマンス(Performance)
- 非効率な処理はないか
- N+1問題などのパフォーマンス問題はないか
- 不要な計算やメモリ使用はないか
3. セキュリティ(Security)
- 入力値の検証は十分か
- SQLインジェクション等の脆弱性はないか
- 機密情報の取り扱いは適切か
4. 可読性(Readability)
- 命名は明確か
- 複雑すぎる処理はないか
- コメントは適切か
5. 保守性(Maintainability)
- DRY原則に従っているか
- 単一責任の原則を守っているか
- テストしやすい構造か
【出力形式】
- 重要度: Critical / Important / Optional
- 該当箇所: 行番号または関数名
- 問題点: 具体的な説明
- 改善案: 修正コードまたは方針
Criticalな問題から順に報告してください。
カスタマイズ例
フロントエンド特化
【追加観点】
- アクセシビリティ(a11y)
- キーボード操作は可能か
- スクリーンリーダー対応は適切か
- カラーコントラストは十分か
- UX
- ローディング状態の表示はあるか
- エラー時のフィードバックは明確か
API特化
【追加観点】
- API設計
- RESTful原則に従っているか
- ステータスコードは適切か
- レスポンス形式は一貫しているか
- 認証・認可
- 認証チェックは適切か
- 権限確認は行われているか
出力例
## コードレビュー結果
### Critical
#### 1. SQLインジェクションの脆弱性
- **該当箇所**: `get_user()` 関数 15行目
- **問題点**: ユーザー入力が直接SQLクエリに埋め込まれている
- **改善案**:
\`\`\`python
# Before
query = f"SELECT \* FROM users WHERE id = {user_id}"
# After
query = "SELECT \* FROM users WHERE id = ?"
cursor.execute(query, (user_id,))
\`\`\`
### Important
#### 2. エラーハンドリングの不足
- **該当箇所**: `fetch_data()` 関数
- **問題点**: API呼び出しの例外処理がない
- **改善案**: try-exceptで適切にハンドリングする
### Optional
#### 3. 変数名の改善
- **該当箇所**: 8行目 `d`
- **問題点**: 変数名が不明確
- **改善案**: `data` または `user_data` に変更