🔖
GitHubスタッフエンジニアから学ぶ効果的なコードレビューの心得
はじめに
Githubのスタッフエンジニアの方が書いた How to review code effectively: A GitHub staff engineer’s philosophy
という記事を読みました。
コードレビューについての考え方や、コードレビューのプロセスについて書かれている記事です。
コードレビューについて考えるきっかけになると思い、まとめてみました。
コードレビューとは
コードの改善と品質向上を目的とし、プルリクエストを単なる変更点の確認ではなく、会話の始まりと捉えると良いです。
コードレビュープロセスの微調整
プルリクエストの見つけ方
- GitHub notifications inbox を確認する。
- GitHub Slack integration で自分のチームに関連する新しいプルリクエストをSlackチャンネルに登録する。
- Githubのクエリ機能を活用してレビューが必要なプルリクエストを絞り込みする。
通知管理
- コードオーナーを明確化しプルリクエストが正しいレビュー担当者に届くようにする。
- 自動化ツールやスケジュールを使用して、特定の時間にプルリクエストのレビューを担当するチームメンバーを割り当てる。
コードレビューの標準化
-
CODEOWNERS
ファイルやブランチ保護ルールを使って、レビューのプロセスを標準化し、チーム内で一貫性を持たせる。 - レビューに関するガイドラインを文書化して、プルリクエストをどのようにレビューし、どのようにフィードバックを提供するかを明確にする。
良いレビューと悪いレビューの違い
明確なフィードバックの提供
- 自分の提案が個人的な好みなのか、必須の修正事項なのかを明確に区別して書くこと。
- コードの具体的な例や説明を添えることで、意図がより伝わりやすくする。
レビュー時の質問
- 質問を積極的に投げかけることで、コードの背景や意図を確認し、深い理解を得ることができる。
肯定的なフィードバックを忘れない
- コードの良い点、自分が同意する点に対してもフィードバックを提供する
バイアスと仮定を意識する
- レビューする際には、自分の先入観や仮定に気をつけ、誰が書いたかに関係なくフレッシュな目でコードをチェックする。
まとめ
自分自身、日々の業務でコードレビューを行っていますが、なかなかコードレビューの質を高める意識を持つ機会はなかったと思いました。
この記事の中で悪いところの指摘だけでなく、肯定的なフィードバックを提供することの重要性についても触れられていて、良いなと思ったのでこれからやっていこうと思います。
Discussion