プルリクエストの書き方|初めてのPRで伝える変更理由・確認結果

設計・テスト・レビュー

プルリクエストの書き方|初めてのPRで伝える変更理由・確認結果

PRの説明が「件名を追加しました」だけだと、レビューする人は差分から目的や確認状況を探すことになります。何を書けば、変更を判断してもらいやすいのでしょうか。

先に結論

  • 目的・変更点・確認結果・未確認・見てほしい点の五つを揃える。
  • 「テストOK」は条件と結果に分ける。まだ試していないことは未確認と書く。
  • 説明と実際の差分を照合する。変更や追加確認をしたら、説明も更新する。

以下は、問い合わせに必須・1〜100文字の件名を追加する架空例です。実在のPRや実行済みのテスト結果ではありません。

差分から見えない「なぜ」を一文で補う

「入力チェックを追加した」だけでは、仕様変更なのか、不具合修正なのかが分かりません。「空の問い合わせが保存されてしまうため、件名を必須にする」まで書くと、変更の理由が伝わります。

「依頼されたため」で止めず、誰が何に困り、どうなればよいかを補います。長い作業日記にする必要はありません。

Googleのガイドも、変更内容と理由を説明する考え方を示しています。ただし、Googleの書式がすべての職場の決まりではありません。自分のチームのテンプレートに合わせて使ってください。Google Engineering Practices

説明欄に揃える五つの判断材料

PRの説明に目的、変更点、確認結果、未確認、見てほしい点の五つを記載する。
書式を埋めるためでなく、変更を判断できる材料を渡す。
  • 目的:件名を持たせ、一覧から内容を見分けられるようにする。
  • 変更点:入力欄、保存時の検証、一覧表示など、変えた範囲。
  • 確認結果:どの条件を、どの環境・方法で試し、どうなったか。
  • 未確認:まだ試していないことと、その理由。
  • 見てほしい点:判断に迷った箇所と、自分の案。

未確認を「問題ありません」に置き換えず、追加確認の要否と、誰がいつ確認するかを相談します。

見てほしい点は「全体」だけでなく、「既存の登録機能と検証の置き場所をそろえた点」のように具体化します。注目点を伝えることは、それ以外をレビュー対象から外すことではありません。

件名を追加するPRの記入例

次の「確認結果」は記入方法の例です。使うときは実際に行った確認へ置き換え、未実施のものは未確認へ移してください。

記入例|小さなPRの説明

タイトル:問い合わせに必須の件名を追加する

目的:一覧で内容を見分けるために件名を追加します。合意した条件は必須・1〜100文字です。

変更点:登録画面の件名欄、保存時の必須・文字数チェック、一覧表示を追加しました。不正な入力では保存せず、訂正を案内します。

確認結果:手元の開発環境で空欄・1文字・100文字・101文字を確認しました。1文字・100文字は保存され、空欄・101文字は保存されません。保存した件名の一覧表示も確認しました。対象の作業版と結果の記録を添付します。

未確認:共用テスト環境での画面確認は未実施です。環境の利用枠が決まり次第、担当と実施時点を決めます。

見てほしい点:検証の置き場所を既存の登録機能に合わせました。ほかの登録経路にも必要な条件が適用されるか、抜けがないかを確認したいです。

仕様や確認記録へのリンクは、チームが参照できるものを添えます。リンク先を開けない場合にも備え、目的の一文はPR内に残します。

この例だけでテストが十分とは限りません。既存データ、文字の数え方、別の登録経路、権限などで必要な確認は変わります。未決の仕様を、記入例に合わせて勝手に決めないようにします。

「テストOK」を条件と結果に分ける

「空欄では保存されずエラーが出た」「100文字では保存できた」のように、入力・操作と結果を対にします。

  • 自動テスト:対象と実行結果を残す。成功しても、テスト環境で使えることまで確認したとは限らない。
  • 画面確認:環境と操作を残す。スクリーンショットだけでは保存や権限の正しさを証明できない。
  • 添付する記録:顧客情報や認証情報を含めない。追加修正の後は、古い確認結果をそのままにしない。

変更が大きくなる前に、分け方を相談する

作業中に見つけた名前の変更や共通化は、今回必要でなければ別にする案があります。GoogleのSmall CLsも、関連するテストを含む、自己完結した小さな変更を扱っています。行数だけで機械的に分ける考え方ではありません。

登録から一覧表示までが一緒でないと意味を確認できない場合は、ファイル単位の分割がかえって分かりにくくなることもあります。

相談例|着手前に分け方を確かめる

件名の追加が画面・保存処理・一覧にまたがります。共通処理の整理は別PRへ分け、件名を登録して表示する変更は一つにしたいと考えています。この分け方でレビュー可能か、着手前に確認したいです。

送信前に、差分と説明を照らし合わせる

手元で編集した内容と、PRに入る内容は同じとは限りません。Git上の違いはstaged・unstagedの確認例でも確認できます。

送信前のチェック

  • 実際の差分と説明が合い、意図しないファイルが入っていないか。
  • 確認した条件と結果、未確認の項目を分けたか。
  • 変更の理由と、レビューで判断してほしい点が伝わるか。

まず「何を変えたか」の次に、「なぜ変えたか」を一文だけ足してみてください。

-設計・テスト・レビュー
-,