全体的に気を付けること
批判的な言葉遣いを避ける
レビューは協力的な雰囲気で進めるべきです。批判的な言葉遣いは極力避け、建設的なフィードバックを心がけましょう。
批判的な言葉は、度が過ぎると相手の人格をも否定することがあります。
またどうしても否定的な言葉を言う場合、まわりに聞こえない様に言いましょう。相手が萎縮し、パワハラになりかねません。
肯定的なコメントを挿入する
良い点や工夫された部分には積極的に伝えましょう。
メンバーのモチベーションを向上させ、最終的にシステムの品質向上に繋がります。
主観的な意見は避ける
あなた自身の好みや主観的な意見は控え、客観的な事実や規約に基づく評価を心がけましょう。
例えば、「このプロジェクトではこういう書き方を指定しているが、一般的にはこっちのが良いとされる」の様な言い方が良い例です。
そういうアドバイスをする為にも、レビューする側は日頃から知識のアップデートを怠らないようにしましょう。
チャットやコメントでのコードレビューの場合
分かりやすいコメントを残す
コードへのコメントは分かりやすく、具体的な指摘を心がけましょう。その箇所だけを見ても理解しやすいコメントが効果的です。
また、全体的に○○という指摘や、特に理由も書かずつき返すのはやめましょう。
分かりずらいと、再再レビューや質問などで時間がかかり、結果的にあなたの時間が無くなってしまいます。
複数のコメントを一度にまとめない
行単位、ブロック単位、関数単位で指摘を行いましょう。
ファイル単位で指摘をしても、受け取った側はどこを修正していいのか分かりません。
対面でのコードレビューの場合
相手の反応を注意深く観察する
対面でのレビューでは相手の反応を注意深く観察し、適切なコミュニケーションを心がけましょう。
テキスト上とは違い、直に相手の感情や考えていることを読み取ることが出来ます。
それを利用して、相手が落ち込んでいたらポジティブな言葉をかけてあげたり、頭がいっぱいになってそうなら、時間を空けるか分割してレビューするなど臨機応変に対応できます。
リアルタイムで修正を検討する
場合によってはリアルタイムで修正案を提案し、議論をすることも重要です。
具体的な実装例を提示することで、自分が考えていることが相手に伝わりやすくなります。
相手に考えさせることも大事ですが、場合に応じて使い分けましょう。
普段から意識すること
コミュニケーションの重要性を理解する
コードレビューは技術的な面だけでなく、コミュニケーションの面もあります。
綺麗なコードや、効率の良い処理を意識するがあまり、相手もエンジニアである前に自分と同じ人間であると言うことを忘れないようにしましょう。
フィードバックのバランスを取る
褒めるべき点と改善が必要な点のバランスを取り、メンバーの成長をサポートするフィードバックを心がけましょう。
どちらか一方に偏ってしまうのは、どちらにとっても良いことではありません。
相手の立場に立って考える
メンバーが直面している課題や制約を理解し、理解のもとでフィードバックを提供しましょう。
可能であれば相手が抱えている他の開発や、タスクの状況などをある程度把握し考慮した上でフィードバックを返して上げるのが良いかもしれません。
相手に余裕がないときにフィードバックをしても、あまり頭に入っていなかったりすることもあります。
柔軟性を持つ
時には自分の知識が古かったり、間違っていたりする場合もあるかもしれません。
もしレビュー依頼者から指摘をされたら、頭ごなしに否定したり、その場で考えて言うのではなく、相手の意見を尊重することも大切です。
定期的なフィードバックを提供する
定期的なフィードバックはメンバーの成長を促進し、信頼関係を築く上で大切です。
メンバーを育てるという観点からも、コードレビューの時以外にも、アドバイスをしたりする方が効果的です。
さいごに
以上、レビューアーとしてレビューを行う際に気を付けること/意識することでした。
レビューをしてもらう側へ書いた記事もあるので、良かったら確認してみてください。
また、コードレビューそのものについてまとめた記事もあるので、合わせてお時間がある時にでもどうぞ。