Googleがコードレビューにおいてスムーズにコミュニケーションを進めるための注意点を公開
ソフトウェアの品質を保つためのツールとして、コードの変更点を一度他の人にチェックしてもらうという「コードレビュー」は高く評価されていますが、そのコードレビューにおいて、スムーズにレビューを進めるためのヒントをGoogleがブログに公開しています。
Google Testing Blog: Code Health: Respectful Reviews == Useful Reviews
https://testing.googleblog.com/2019/11/code-health-respectful-reviews-useful.html
◆レビューする場合とされる場合の両方において守るべきこと
・相手の能力を尊重する
人が違えば得意分野や背景知識なども異なります。相手には高い能力があるはずだという前提に立ち、まずは質問を通して理解を深めることが大切です。
・根拠を提示する
ベストプラクティスやスタイルガイドなど、実装の根拠となったものを提示することでその実装をしたことへの理解を得やすくなります。
・コメントがどのように解釈されるかに注意
誇張表現や冗談、絵文字などの解釈方法は人によって異なります。
・相手を批判しない
「あなたのコードは~」のようにコードと人を関連付ける言葉を使うだけで、コードの品質向上というゴールから遠ざかってしまうことがあります。
・厳しい言葉を使わない
(PDFファイル)研究によると、中立的なコメントは79%が有用だと思われるのに対して、厳しい言葉が使われたコメントは57%しか有用だと思われないとのこと。
◆レビューする場合に気を付けるべきこと
・具体的で実行可能なフィードバックを行う
具体的なコメントができない場合には、どういった思考を経てその実装になったのかを聞くと解決する場合があります。
・些細な修正やオプションはそのことを明記する
重箱の隅をつつくような修正や、「こんな方法もあるよ」というオプション的なコメントはそのことを明記すると相手に意図がより正確に伝わります。
◆レビューしてもらう場合に気を付けるべきこと
・レビュアーのコメントに対して返信するかコードを修正する
指摘された点について修正を行うか、その実装に至った理由について解説を行います。
・修正に同意できない場合は自分の実装の利点を説明する
Googleのコードレビューガイドによると、なぜ自分の実装の方が良いのかをコメントを通して説明してもレビュアーとの合意が難しい場合には、音声通話か対面ミーティングを行い、それでもダメであればチームディスカッションを行ったり上位者に決めてもらったりするとのことです。
・関連記事
優れたエンジニアを採用するために重要なポイントとは? - GIGAZINE
過大評価されている人に共通してみられる7つの特徴 - GIGAZINE
1日1000個のA/Bテストを行う「Booking.com」の開発の裏話を聞いてきました【後編】 - GIGAZINE
世の中の職業に必須な数学の単元が一目でわかるネットサービス「100の職業で利用する数学」 - GIGAZINE
完璧なチームはどうやって生み出されるのか? - GIGAZINE
・関連コンテンツ