論文メモ

Modern Code Review: A Case Study at Google

June 6, 2019

著者/所属機関

Caitlin Sadowski (Google) et al.

出典

ICSE SEiP 2018

目的

Googleにおけるコードレビューの実態調査・知見共有

Methodology

  • Google内の開発者12人へのインタビュー実施
  • Google内で用いているコードレビュー支援ツールCritiqueのログ解析
    • 全部で約900万の変更ログを解析
    • Googleでは週平均2万の変更がコミットされる
  • 98人へのオンラインアンケート (44人から回答受領)

Resarch Question & 結果

RQ1: Google内でのコードレビューの動機は?

  • 可読性,保守性のため
  • 教育,コード規範(フォーマットとか)を保つ,事故防止のため
  • bug発見のためだけではない,また問題解決が中心ではない

RQ2: Google内でのコードレビューのプラクティスは?

  • ツール(Critique)がレビュアーの推薦機能とコード解析結果結果の自動投稿機能を持っている
  • 他の組織・OSSと比べ,Googleではquickに小さな変更のレビューを実施している
  • レビュアーは一人で十分なケースが大半

RQ3: 開発者はコードレビューをどう思っているか?

  • 継続的にレビューの仕方を改善しているが,依然として問題を感じる部分がある
    • 地理的/組織的に距離があるとレビューで遅延が発生する
    • レビューする人や所属部署によってレビューへの期待が異なる (設計は合意済みの前提か,設計自体もレビューするかなど)
    • 多くの開発者はレビューが非常に重要と考えており,約3時間/週をレビューに費やしている

その他

  • 直接編集したファイル数とレビューしたファイル数を比べたところ,勤続年数によらずレビューしたファイル数の方が多い!
    • 直接触っていない周辺コードへの知識が貯められていることの指標とも言えそう

Tagged: #code review