コードレビュー
他の開発者が書いたコードを検査し、フィードバックを提供するプロセス。マージ前に実施するのが一般的(プルリクエストレビュー)。
目的
- 品質向上: バグや設計上の問題を早期発見
- 知識共有: 開発者間のプロダクションモデルの差分を縮小
- 標準化: コーディング規約やユビキタス言語の統一
- 学習: 他者のコードから学ぶ機会
認知負荷との関係
レビューを通じて開発者間の認知負荷(認知差分)を小さくする。同じコードベースを複数人で理解することで、プロダクションモデルの共有度が高まる。
効果的なレビューのポイント
- タイミング: 変更が小さいうちにレビュー(大きなPRは認知負荷が高い)
- 自動化: 静的解析やフォーマッタで機械的なチェックは自動化
- 建設的: 批判ではなく改善提案
- コンテキスト: PRの背景や目的を記述
ペア/モブプログラミングとの違い
ペアプログラミングやモブプログラミングはリアルタイムでのレビューだが、コードレビューは非同期。レビューアの負荷が分散される。