目次
1章 なぜコードレビューはうまくいかないのか
- 1.1 コードレビュー難しい!10選
- 設計・実装方針のずれ
- コードの可読性
- パフォーマンス
- コードスタイル
- セキュリティ
- 期待動作や要件の確認不足
- テスト
- コードコメント・ドキュメント
- 変更量の多いプルリクエスト
- コミュニケーション
- 1.2 コードレビューが担う役割
- 1.3 コードレビューにかかる負担
- 1.4 コードレビューを省略するリスク
2章 コードレビューの7つの観点
- 2.1 設計
- アーキテクチャ
- 責務設計
- 変更容易性
- 一貫性
- テスト容易性
- 【COLUMN】 「設計」をさらに学ぶための参考書籍
- 2.2 理解容易性
- 簡潔性
- 可読性
- 冗長性
- 【COLUMN】 「理解容易性」をさらに学ぶための参考書籍
- 2.3 命名
- 責務・役割の明確性
- 命名規則
- スペルや英文法に誤りがないこと
- 【COLUMN】 「命名」をさらに学ぶための参考書籍
- 2.4 コードスタイル
- 静的解析違反
- コーディング規約違反
- 【COLUMN】 既存プロジェクトに自動チェックを導入する
- アクセス修飾子の適正化
- 【COLUMN】 「コードスタイル」をさらに学ぶための参考書籍
- 2.5 機能・性能
- 機能要件の確認
- パフォーマンス
- 過剰なデータ通信
- コードやライブラリの脆弱性
- 【COLUMN】 認証・認可基盤を確認するときの観点
- 【COLUMN】 「機能・性能」をさらに学ぶための参考書籍/資料
- 2.6 テスト
- テスト容易性
- テストケース
- テストコードの品質
- 【COLUMN】 「テスト」をさらに学ぶための参考書籍
- 2.7 ドキュメント
- ドキュメントが最新化されているか
- ドキュメントの内容が具体的かつ明確か
- プロジェクト運用に必要な情報が最新化されているか
- 【COLUMN】 「ドキュメント」をさらに学ぶための参考書籍
- 2.8 コードレビューガイドラインを作成してみよう
- 最小構成から始める
- 運用しながら内容を育てる
- コミュニケーション方針も明文化する
3章 レビューを支えるコミュニケーション
- 3.1 レビュアーのためのマインドセット
- 1. 敬意を持つ
- 2. ポジティブに伝える
- 3. 理由を説明する・聞く
- 4. ゴールを示す
- 5. チーム視点で本質的な議論に集中する
- 3.2 レビュイーのためのマインドセット
- 1. 意図を伝える
- 2. プルリクエストは適切な粒度に分ける
- 3. 指摘を前向きに受け取る
- 4. 自律的に判断する
- 5. 感謝と協調の姿勢を持つ
- 3.3 コードレビューでのマナー
- レビュアーのためのマナー
- レビュイーのためのマナー
- 3.4 レビュープロセスを支えるコミュニケーション
- 変更範囲の決定
- 実装
- 動作確認
- プルリクエストの作成
- レビュー依頼
- レビューコメントの記載と修正確認
- 再レビュー依頼
- マージ
- 3.5 コミュニケーションを活性化する
- 早期に認識をそろえる
- 返答しやすいコメントにする
- 状況に応じて対話へ切り替える
- 相談しやすい雰囲気をつくる
4章 コードレビューをしてみよう
- 4.1 対応要否を明確に伝えよう
- 4.2 修正の観点を伝えよう
- 4.3 コードレビューを実践しよう
- Case 1
- Case 2
- Case 3
- Case 4
- Case 5
- Case 6
- Case 7
- Case 8
- Case 9
- Case 10
5章 コードレビューで技術力を高める
- 5.1 レビュー分析で課題を可視化する
- 5.2 弱点克服のアクションプランを立てる
- 5.3 GitHub APIでレビューコメントを集計する
- 集計の準備を整える
- GitHub APIでコメントを集計する流れ
6章 チーム開発の進め方を最適化する
- 6.1 完了の定義をそろえる
- 6.2 受け入れ条件を明確にする
- 6.3 タスクの粒度を小さくする
- タスクを分割するときのポイント
- 6.4 タスクの進捗を可視化する
- 【COLUMN】 ウォーターフォールとアジャイルでレビューの役割はどう変わるか
7章 AIコードレビューとの向き合い方
- 7.1 AIをコードレビューにどう利用するか
- 1. プルリクエスト作成時のセルフチェック
- 2. 大規模差分の概要把握
- 3. 影響範囲とテスト観点の洗い出し
- 4. レビュアーのコメント作成支援
- 5. 初学者向けの学習支援
- 7.2 AIをコードレビューに利用する際の注意点
- 1. AIは文脈や仕様を誤解することがある
- 2. AIの提案は人間が責任を持って判断する
- 3. セキュリティ・機密情報の取り扱いに十分注意する
- 7.3 AIレビューの精度を高める前提整理
- 7.4 人間とAIのレビューをどう組み合わせるか
- 【COLUMN】 AIエージェント活用をさらに学ぶための参考書籍