理系学生日記

おまえはいつまで学生気分なのか

PRへの修正内容をReviewer側で提示できるsuggested changes

Github で上で PR をレビューしている方も多いと思います。 その中で、よくあるのが typo への指摘です。 Typo を指摘する際、

`type` は `typo` の誤りではないでしょうか?

というような形で指摘することになると思うのですが、これをやっていると

  1. reviewer が上記のようなコメントを書く
  2. author が上記のコメントを元に修正コミットを入れて push する
  3. reviewer が accept する

という不毛なやりとりをしてしまうことになります。メンドい。

こういうケースにおいては、Github の suggested changes 機能を使用しましょう。

suggested changes 機能とは

suggested changes 機能は、Reviewer が PR のコメント欄に特定フォーマットでコメントすることで、author が Github の UI 上でボタンを押すだけでその内容を取り込めるというものです。

フォーマットとしては、以下のように suggestion ブロックとして記述するというものです。

f:id:kiririmode:20191208101614p:plain
Commenting on a pull request - GitHub Docs より引用

すると、Author 側には、Reviewer からの suggestion をクリックして取り込めるボタンが表示されるようになります。

f:id:kiririmode:20191208101754p:plain
suggestion をコミットとして取り込む Incorporating feedback in your pull request - GitHub Docs より引用。

上記のボタンだと、押下するごとに commit が行われる(コミットメッセージは入力できます)ようになりますが、複数個の suggestion を一括して取り込みたい場合は、以下のボタンで batch に suggestion を追加していき、最後に一度の commit でそれらの修正を取り込めるようになります。

f:id:kiririmode:20191208101937p:plain
suggestion を一括して取り込む Incorporating feedback in your pull request - GitHub Docs より引用

これにより、Reviewer 側の「こんなに小さいのを指摘して直してもらうのちょっと気が引けるなぁ」というような引け目を感じなくすることができて、個人的には便利でした。

参考文献

Incorporating feedback in your pull request - GitHub Docs