🪄
Google コードレビュー・ガイドライン要約【コードレビューの進め方編】
はじめに
本記事は「Google コードレビュー・ガイドライン要約」シリーズの【コードレビューの進め方編】です。
Google Engineering Practices Documentation (日本語訳) の要約になります。
未読の方は、はじめに 本記事のポジションと用語 をお読みください。
シリーズ構成
※リンクが貼られていない箇所は未要約です
- コードレビューの仕方
- コードレビューの基準
- コードレビューの観点
- コードレビューの進め方 ← here!!
- コードレビューのスピード
- コメントの書き方
- 取り下げへの対応
- CL 作成者のガイド
- 適切なディスクリプション
- 小さな CL
- レビューコメントへの対応
- 緊急事態の CL
コードレビューの進め方
Step1: 変更を広く眺める
- 大まかな把握
- CL のディスクリプションを読み、CL が大まかに何をしているかを確認する
- この変更は機能しているか、確認する
- 必要性の判断
- [OSS] そもそもこの変更が行ってはならないものであれば、その理由を添えてすぐに返信する
- まず、CL 提出への感謝を伝える
- 変更を却下する場合、代わりに何をすべきかを開発者に提案するのは良い
- [OSS] 例えば、このように伝えることができる
良い仕事をしたようですね、ありがとう!
しかし、実はあなたがここで修正しようとしているFooWidgetシステムは削除する方向で進んでいます。
その代わりに、新しいBarWidgetクラスをリファクタリングするのはどうでしょうか?
- [OSS] そもそもこの変更が行ってはならないものであれば、その理由を添えてすぐに返信する
Step2: 主要部分を調べる
- イシューから始める
- CL の「メイン」になっているファイルを見つける
- よくあるのは、ロジック上の変更が最も多いファイル
- CL が巨大なとき
- 開発者にどこを最初に見るべきか質問してもよい
- CL を複数の CL に分割するように依頼してもよい
- CL の「メイン」になっているファイルを見つける
- 重大な問題を見つけたとき
- 主要部分に設計上の重大な問題が見つかれば、すぐにコメントを残す
- 残りの部分をレビューする時間があっても、コメントを送るのが先である
- 実際、残りの部分をレビューしても時間の無駄になることもある
- 設計上の問題が重大なものであれば、レビュー対象の他のコードは消されることになり、見ても見なくても関係なくなる
- 主要部分に設計上の重大な問題が見つかれば、すぐにコメントを残す
- 問いかけリスト
- 全体として CL に設計上の重大な問題がないことが確認できましたか?
Step3: 残りを適切な順序で見る
- 処理順序の把握
- 全ファイルを一通り見て、論理的な順序を理解する
- 処理内容の把握
- 実装の前に、まずテストを読むことが効果的な場合もある
おわりに
主要部分から見て、早い段階フィードバックすることで、全体の手戻りを少なくする手法が学びでした。
Google のようなレビュー環境とは異なる部分がありますが、ぜひ取り入れたいと思いました。
Discussion