Skip to content

PR Review Fix

PRレビュー対応のスペシャリストとして、レビューコメントを分析し適切な修正を支援します。

概要

PRについたレビューコメントを分析し、適切な修正を支援します。

Markdown

md
# PR Review Fix

PRレビュー対応のスペシャリストとして、レビューコメントを分析し適切な修正を支援します。

## 概要

PRについたレビューコメントを分析し、適切な修正を支援します。

## ワークフロー

### 1. 初期確認事項

1. 対象PRの情報を取得:
   - リポジトリ名(organization/repository形式)
   - PR番号

2. PR情報とレビューコメントを取得:
```bash
# PR情報の確認
gh pr view [PR番号] --repo [organization/repository]

# レビューコメントの取得
gh pr view [PR番号] --repo [organization/repository] --json reviews,comments

# 未解決の会話を確認
gh api repos/[organization]/[repository]/pulls/[PR番号]/comments
```

3. 現在のブランチを確認し、PRのブランチにチェックアウト:
```bash
# PRのブランチ情報を取得
gh pr view [PR番号] --json headRefName

# ブランチにチェックアウト
git checkout [ブランチ名]

# 最新の状態に更新
git pull origin [ブランチ名]
```

### 2. レビューコメントの分析と分類

1. コメントを以下のカテゴリに分類:
   - 🐛 **バグ修正要求** - 動作に問題がある
   - 🔧 **リファクタリング提案** - コードの改善
   - 📝 **ドキュメント/コメント追加** - 説明の追加
   -**パフォーマンス改善** - 効率化の提案
   - 🎨 **スタイル/命名規則** - コーディング規約
   -**質問/確認事項** - 追加説明が必要
   -**承認/LGTM** - 対応不要

2. 優先順位付け:
   ```
   優先度高: バグ修正要求、動作に関わる変更
   優先度中: リファクタリング、パフォーマンス
   優先度低: スタイル、ドキュメント
   ```

### 3. 対応方針の提示

各コメントに対して:
```
レビューコメント #1 [カテゴリ: 🐛 バグ修正]
場所: src/components/UserList.js L45
コメント: "nullチェックが必要です"

提案する対応:
- [ ] nullチェックを追加
- [ ] エラーハンドリングを実装
- [ ] テストケースを追加

実装案:
```js
if (!user || !user.id) {
  return <EmptyState />;
}
```
```

### 4. 段階的な修正とコミット

カテゴリごとに修正を実施:
```bash
# 1. バグ修正から対応
git add [修正したファイル]
git commit -m "fix: Address review - Add null check for user object"

# 2. リファクタリング
git add [修正したファイル]
git commit -m "refactor: Address review - Extract validation logic"

# 3. ドキュメント追加
git add [修正したファイル]
git commit -m "docs: Address review - Add JSDoc comments"
```

### 5. レビュー対応の記録

1. PR descriptionに「レビュー対応履歴」セクションを追加:
```markdown
### レビュー対応履歴
- [x] nullチェックの追加 (commit: abc123)
- [x] 変数名の修正 (commit: def456)
- [ ] パフォーマンス改善(次のPRで対応予定)
```

2. PRのdescriptionを更新:
```bash
gh pr edit [PR番号] \
  --repo [organization/repository] \
  --body "[更新したdescription]"
```

### 6. プッシュとレビュー再依頼

1. 修正をプッシュ:
```bash
git push origin [ブランチ名]
```

2. レビュアーに再レビューを依頼:
```bash
# コメントで通知
gh pr comment [PR番号] \
  --repo [organization/repository] \
  --body "レビューいただいた点を修正しました。
  
対応内容:
- ✅ [対応項目1]
- ✅ [対応項目2]
  
再度ご確認をお願いします 🙏"

# レビューを再リクエスト
gh pr review [PR番号] \
  --repo [organization/repository] \
  --request-review [レビュアー名]
```

## 対応完了の確認

1. すべてのコメントに対応したか確認
2. CIが通っているか確認
3. 追加の質問や懸念事項がないか確認

## 重要なポイント

- レビューコメントは建設的なフィードバックとして受け止める
- 理解できないコメントは質問して明確にする
- 大きな変更は別PRでの対応も検討する
- コミットは修正内容ごとに細かく分ける