プルリクエストのレビュアーが考えること🤔、見ること🧐、すること🤗
この記事のモチベーション
最近ちょっとプルリクエストのレビューで苦労することがあり、プルリクエストかくあるべしみたいな記事を書くモチベーションが高まっています。でもその前に、プルリクエストに対峙するレビュアーとしての哲学みたいなものを整理しておこうと思い、この記事を書くことにしました。そうしてから、この記事を踏まえるようなかたちで、レビュアーからするとこういうプルリクエストが助かるよっていう記事を書く予定です。
レビューの目的
ソフトウェア開発においてプルリクエストは重要な部分を占めています。開発者はコードベースに加えた変更ついてプルリクエストを作成し、コードベースへのマージを求めるという一連の流れがあります。このとき、マージの可否を判断するのがレビューです。レビューは、コードが目的を達成し、かつ基準を満たし、他方で問題が発生していないことを確認するための重要なステップです。つまり、レビューはコードベースの品質を保つために行われます。
プルリクエストのレビュアーが考え、見て、する必要があることを次節から示していきます。
レビュアーが考えること
コンテキストを理解する
レビューを開始する前に、レビュアーは変更のコンテキストを理解する必要があります。これには、変更の目的や解決しようとしている問題、変更がコードベースにどのように寄与しようとしているかを理解することが含まれます。
レビュアーが見ること
コードの誤りを確認する
レビュー担当者は、コードを注意深く調べて、構文の誤り、論理の誤り、その他の誤りがないことを確認する必要があります。 また、コードがコーディング規約と一致していることも確認する必要があります。
コードの変更をテストする
レビュー担当者は、コードの変更をテストして、意図したとおりに機能し、新しい問題が発生していないことを確認する必要があります。これには、自動テストの実行、手動テスト、および変更によって既存の機能が損なわれないことの確認が含まれます。
コードベースの他の部分への影響を調べる
レビュー担当者は、変更がコードベースの他の部分にもたらす影響を考慮する必要があります。変更によって意図しない副作用が発生したり、コードベースの他の部分が壊れたりしないことを確認する必要があります。
変更が適切に文書化されていることを確認する
レビュアーは、コード内のコメント、プルリクエスト内のドキュメントなど、変更が適切に文書化されていることを確認する必要があります。
レビュアーがすること
建設的なフィードバックをする
レビュアーは、コードの変更に関する建設的なフィードバックをする必要があります。これには、コードを改善するための提案、さらに作業が必要な領域の特定、対処が必要な問題の指摘が含まれます。
プルリクエストを承認または拒否する
最後に、レビュアーはレビューに基づいてプルリクエストを承認するか拒否するかを決定する必要があります。変更が目的を達成し、定められた基準を満たし、問題が発生しない場合、レビュアーはプルリクエストを承認する必要があります。対処する必要がある問題がある場合、レビュアーはプルリクエストを拒否し、変更をマージする前に何をする必要があるかについてフィードバックをする必要があります。
まとめ
プルリクエストのレビューは、コードの変更が目的を達成し、定められた基準を満たし、問題を発生させないようにするための重要なステップです。レビュアーが責務を果たすことで、コードの品質が高く保たれ、プロジェクトのニーズを満たし続けることができます。
Discussion