MF Blogs 便利ツール
濃紺のグラデーション背景に、GitHubのOctocatのシルエットと光る円弧が浮かぶイメージ画像

記事

GitHub、プルリクの差分レビューを改善——空白設定を記憶、split viewの新規ファイルも全幅表示に

GitHubがプルリクエストの「Files changed」ページに2つの改善を加えました。空白文字の表示設定を保存できるようになったほか、split viewでの新規・削除ファイル表示が全幅化され、レビューの快適さが向上します。

0:00 0:00

GitHubは10月22日、プルリクエストの「Files changed」ページにおけるレビュー体験を改善する2つのアップデートを発表しました。空白文字の表示設定を保存できるようになったほか、split viewでの新規・削除ファイルの表示幅が広がり、差分レビューの効率が上がるとしています。GitHub Changelogで案内されました。

空白文字の表示設定を保存できるように

これまでプルリクエストごとにリセットされていた空白文字の表示設定が、ユーザーの好みとして保存されるようになりました。設定画面の「Whitespace changes」から、常に表示する「Always show」、常に非表示にする「Always hide」、そのプルリクエストだけ非表示にする「Hide for this diff only」のいずれかを選べます。保存した設定は個人のものとしてすべてのプルリクエストに適用され、空白を非表示にしている間は「All commits」の横に有効なフィルターチップが表示されます。チップの×を選ぶと、保存設定を変えずに一時的に空白を表示し直すことも可能です。ファイル数や差分統計も、表示中の差分に合わせて反映される仕組みです。

インデントの自動整形やエディタの改行コード変換が入ったプルリクエストでは、実質的な変更が数行しかなくても、空白差分が大量に混ざって本当に見るべき箇所が埋もれてしまうことがよくあります。従来はプルリクエストを開くたびに「Hide whitespace」を手動で切り替える必要がありましたが、今回の変更でその手間がなくなり、常に自分の見やすい表示で差分を追えるようになります。

暗い背景にGitHubのOctocatシルエットと光る円弧が浮かぶバナー画像

画像引用元: GitHub Blog

split viewで新規・削除ファイルが全幅表示に

もう一つの改善は、split view(左右分割表示)における新規ファイルと削除ファイルの見せ方です。これまでは左右2カラムの片側しか使われず、横幅が狭くなりがちでしたが、unified view(統合表示)と同じように両カラムをまたいで全幅表示されるようになりました。これにより、新規追加されたファイルを読む際の余白が広がり、行の折り返しも減るため、大きめのファイルを一から追加するようなプルリクエストで特に恩恵があります。設定ファイルの雛形やテストフィクスチャなど、横に長い行を含むファイルを新規追加する際のレビューしやすさも向上しそうです。

GitHubが続けるレビュー導線の細かな改善

今回の2つの変更はいずれも派手な新機能ではありませんが、日々大量のプルリクエストをレビューする開発者にとっては、細かなストレスを減らす着実な改善といえます。GitHubは直近でも、Stacked pull requestsの一般提供開始、ドラフトプルリクエストの上限カウント方式の変更、Triageロール以上のユーザーによるプルリクエストのアーカイブ対応など、レビュー導線にまつわるアップデートを立て続けに出しており、今回のアップデートもその延長線上にあります。フィードバックはGitHubのCommunity discussionで受け付けているとのことで、今後も同様の細かな改善が続く見通しです。

日本の開発チームへの実務的な影響

日本国内でも、チーム開発でGitHub Flowを採用している現場は多く、1件のプルリクエストに対して複数人でレビューを回す運用も一般的です。空白設定が個人の好みとして保存されるようになったことで、レビュー担当者ごとに異なる見やすさの好みを毎回設定し直す必要がなくなり、レビューの着手までの時間を短縮できます。特にmonorepo構成で大量のファイルを横断するプルリクエストが多いチームでは、split viewの全幅表示化と合わせて、レビュー体験の底上げを体感しやすい変更といえそうです。

設定変更そのものはユーザー側で特別な作業をしなくても、次回「Files changed」タブを開いた時点から自動的に利用できます。チームでレビュー規約を定めている場合は、この機会に「空白のみの差分は原則非表示にする」といった運用ルールをあわせて共有しておくと、レビュー担当者間での見え方のばらつきをさらに減らせそうです。フォーマッタの自動実行をCIに組み込んでいるチームでも、整形由来の空白差分がノイズになりやすいため、今回のアップデートは地味ながら歓迎されそうです。