第7章:PR 説明の型(何を / なぜ / 影響 / テスト / ロールバック)

この章で学ぶこと

  • PR の説明はレビュー効率を上げるために書く
  • 影響範囲とテスト、ロールバックを明記する
  • 関連 Issue と受け入れ条件に紐付ける
  • レビューコメントへの対応方針を明示する

成果物(書けるようになるもの)

  • PR テンプレを使える(付録: PR テンプレ)
  • レビューで確認すべき観点を提示できる

本文

PR は差分だけでは意図が伝わらない。意図と影響を明記することで、レビューの漏れが減る。

最小の PR 説明

  • 何を: 変更点
  • なぜ: 背景/目的
  • 影響: 互換性/運用
  • テスト: 何を確認したか
  • ロールバック: 戻し方
  • 関連: Issue
  • レビュー観点: 何を重点確認してほしいか
  • 未確定点: merge 前に解消すべきか、follow-up でよいか

テストできない場合は、「できない理由」と「代替の確認方法(ログ/監視/段階リリースなど)」を明記する。テスト未実施を隠すと、本番影響の判断ができない。

Issue との対応表

PR body では、Issue の受け入れ条件をどの変更・確認で満たしたかを対応づける。

Issue の受け入れ条件 対応する変更 確認結果 残タスク
不正入力で保存されない API バリデーション追加 単体テスト validation rejects empty name PASS なし
不足項目が分かる エラー文言を項目別に返す E2E で表示確認 文言統一は別 Issue

対応表があると、レビュー担当は「差分を全部読む前に、何を満たす PR なのか」を把握できる。受け入れ条件に未達がある場合は、merge 前に直すのか、follow-up Issue に分けるのかを明記する。

レビューコメントへの対応方針

レビューでは、指摘そのものだけでなく「どう扱ったか」も証跡になる。

  • 修正した: どのコミット/差分で直したかを返信する
  • 対応しない: スコープ外、仕様上不要、別 Issue 化などの理由を返信する
  • suggestion を採用した: そのまま採用したか、調整して採用したかを返信する
  • 確認中: 期限、確認方法、次回更新予定を書く

merge 前に、未解決 review thread が 0 であることを確認する。未解決のまま merge すると、レビューで合意していないリスクが残る。

注意点(実務運用)

  • 受け入れ条件に対して、どこが満たされたか(または未達か)を説明する
  • 破壊的変更/データ移行がある場合は、適用手順と切り戻し判断基準を追記する
  • レビュー観点(見てほしい順序/注目点)を 1〜3 行で提示する

具体例(悪い例→良い例)

悪い例

説明: 修正しました
テスト: してません

良い例

何を: 入力フォームのバリデーション追加
なぜ: 誤操作が多い
影響: 保存失敗時のエラーメッセージ変更
テスト: 不正入力/境界値/回帰
ロールバック: フラグを OFF
関連: #123

チェックリスト

  • 何を/なぜが書かれている
  • 影響範囲が書かれている
  • テストとロールバックが書かれている
  • 関連 Issue がある
  • 受け入れ条件と確認結果の対応表がある
  • 未解決 review thread が 0 である

まとめ

  • PR の差分だけでは意図が伝わらないため、背景/影響/テスト/ロールバックで補完する
  • テスト未実施や不確実性は、理由と代替の確認方法を明記する
  • 関連 Issue と受け入れ条件に紐付け、レビューコメント対応と未解決 thread 0 を確認してから merge する

次章への接続