コードレビュー観点まとめ

コードレビュー

誰かが作成したソースコードを他者がレビューすることで、問題のある記法やバグがないかを確認する作業

観点(設計・機能・複雑さ・テスト・命名・コメント)

  • そのコードは設計が良く、システムに適しているか?
  • コードは作者が意図した通りに動作しているか?
  • 他の開発者が将来このコードに出会ったとき、簡単に理解して使用することができるか?
  • コードに適切なユニットテストが存在するか?
  • 適切な命名がなされているか?
  • 会社独自の注意事項を守っているか?

コミュニケーション

  • 変更がある場合は、変更理由と代替案を提示する
  • 意図が不明瞭な時は理由を聞く
  • 依頼が来たらすぐにレビューを行う(24時間以内に終わらない場合はいつまでに終わるか連絡する)
  • 実装してくれたことに感謝する
  • コメント
    • Must:対応必須
    • Want:できれば
    • Nit:改善可能な点だが改善するか否かは作者に委ねる
    • Imo:私の意見では
    • FLY:参考までに
  • 人を辱めない(最善を尽くしている前提)
  • ネガティブな言葉は使わない(人をうらまず、コードを恨む)
  • どちらでもいいことについて決着をつけようとしない

ツール

レビューイ

PRは小さく作る

  • より早く、より完全にレビューされる
  • レビュアのブロッキングを短くできる
  • リジェクトされた場合でも、作業の無駄が少なくて済む
  • より簡単によい設計が行える

リファクタリングやフォーマットは分割する

  • 新機能開発や改修のPRの中に紛れているとレビューが大変になる

デバッグ用のロギングや不要コメントは削除する

  • 本番コードに含める必要のないものは削除する

参考