Unit 09-02(STAGE 09 の 2 / 8)

コードレビューは何を見るのか

学習状況:未着手

このユニットの結論

コードレビューは、誤字や書き方の好みを直す場ではありません。

「頼んだ変更が、頼んだ範囲で、正しく行われ、ほかを壊していないか」を、変更の差分(変わった部分)を見て人が確かめる工程です。

AIが書いたコードでも、この確認は省けません。

1. 何の話か

このユニットは、プログラムの変更を確かめるコードレビューの話です。

コードレビューでは、変更した人とは別の人が、変更の差分(変更前と変更後で違う部分)を読み、問題がないかを確かめます。

2. なぜ必要か

プログラムの変更は、少しの書き間違いでも、

といった影響を生みます。変更した本人は、自分の思い込みに気づきにくいものです。

自動テストも大切ですが、テストは「用意したことを確かめる」ものです。テストが用意していない問題は、テストが全部合格していても見つかりません。

3. このユニットで分かること

4. レビューで見る観点

一般的には、次の観点で見ます。

  1. 目的:頼んだ変更の目的と、実際の変更が合っているか
  2. 範囲:頼んでいない場所まで変えていないか
  3. 正しさ:条件の抜け、計算の誤り、例外のときの動きはどうか
  4. 影響:ほかの画面・処理・連携に影響しないか
  5. 安全:権限の確認、個人情報の扱い、ログの残し方
  6. 確かめ方:変更に合わせたテストがあるか

差分が大きすぎると、人は細部を読み飛ばします。変更を小さく分けることも、レビューの質を保つ方法の一つです。

CASE FACTFROZEN正本に記載されたアステリア案件の事実

アステリア案件の開発に関係する記載

  • 約120人規模のプロジェクト
  • システムに SYS-09 開発・CI/CD基盤、SYS-10 AI開発エージェントがある
  • AIは意思決定責任者ではなく、人間が管理する作業実行・支援手段とする
  • AIへ最終委任しないことに「設計承認」「本番移行承認」がある
  • P-013 木村 亮 — AIガバナンス責任者

アステリア案件のレビューの規則(誰が、どの変更を、何人でレビューするか)は、正本に記載がありません。未確定

5. THINK — 「軽い修正です」

変更の説明には「画面の表示の文言を直す軽い修正です」と書かれていました。差分を開くと、文言の変更に加えて、権限を確かめる処理の条件が1行変わっていました。

問題

説明どおり「軽い修正」として承認してよいでしょうか。

判断例を開く

判断

承認しません。

確認すること:

  • 権限の条件の変更は、頼まれた変更に含まれていたか
  • 変更によって、誰が何を見られるようになったか
  • この変更を確かめるテストがあるか
  • 変更した理由を、変更した人(またはAI)の説明ではなく、差分と要件で確かめたか

説明文ではなく、差分そのものを見るのがレビューです。

6. よくある失敗

7. 成果物との接続

危機演習 CR11 では、AIによる変更をどう確かめるかを体験します(学習上の接続です。正式な対応関係ではありません)。

8. AI WORKFLOW — レビューの下読みをさせる

AIは、大きな差分の下読みに役立ちます。

指示例:

「次の差分を読み、変更された箇所を『頼まれた変更に関係するもの』『関係が判断できないもの』に分け、それぞれ差分の該当箇所を示してください。安全に関わる変更(権限・個人情報・ログ)があれば必ず挙げてください。問題がないとは結論づけないでください。」

9. REVIEW — AIの下読みを確認する

  • AIが示した箇所を、人が差分で開いて確かめたか
  • 「関係する」と分類された変更も、本当に必要か
  • 変更したのがAIの場合、そのAIの説明を証拠として扱っていないか

AIの下読みは、レビューの代わりではなく、見る場所の目印です。

ADVANCED深掘り — 実務者向けに一段深く

深掘り — 観点の階層と、変更の大きさ

上から順に見る

レビューの観点には順番があります。1 つ目は正しさ(仕様どおりに動くか、境目の条件はどうか)。2 つ目は安全(権限の確認、個人情報の扱い、外から来る値の検査)。3 つ目は性能(データが 10 倍になっても大丈夫か)。4 つ目は保守(読めるか、テストがあるか、名前が意味を表しているか)。5 つ目は運用(記録が残るか、設定で変えられるか、戻せるか)。書式の指摘は道具に任せ、人は上の 3 つに時間を使います。

変更は小さく、目的は 1 つ

大きな変更ほど、見落としが増えます。1 回の変更を小さく(目安として数百行まで)、目的を 1 つにします。「ついでに直した」が混ざると、レビューする人はどこを重点的に見ればよいか分からなくなります。

承認までの時間を見る

承認までの時間が極端に短い変更は、読まれていない可能性があります。レビューの記録から、変更の大きさと承認までの時間を並べて見ると、形だけのレビューが見つかります。

AI が書いた変更の追加の観点

頼んだ範囲の外が変わっていないか。「動作確認済み」という説明に根拠(テストの結果)があるか。誰が頼み、どの指示で生成されたかの記録が残っているか。AI の説明は証拠ではないので、人がコードを読みます(09-05)。

現場で確かめる問い

  • レビューの指摘のうち、書式の指摘が何割を占めるか。道具に任せられるものはないか
  • 1 回の変更の大きさの目安があるか。目安を超える変更はどう扱っているか
  • 承認までの時間が極端に短い変更を、記録から拾ったことがあるか
  • AI が書いた変更について、頼んだ範囲の外が変わっていないかを確かめる手順があるか

アステリア案件のレビューの人数、観点、承認までの時間は、正本に記録がありません。記録なし

10. 人間が判断すること

  • 変更を承認するか、差し戻すか
  • 頼まれていない変更を残すか、取り消すか
  • 追加のテストが必要か

11. 判断演習

あなたは、差分が非常に大きい変更のレビューを頼まれました。期限は今日です。

あなたなら、どうしますか。

  • 変更を小さく分けてもらう
  • 安全に関わる箇所から優先して見る
  • 見きれない部分を、見ていないと明示する
  • 期限を延ばすよう相談する

「全部見たことにして承認する」は選びません。

あなたの記録あなたの考え。事実ではありません

判断ノート

既定では保存しないため、ページを離れると消えます。

このユニットで覚えてほしいこと

コードレビューは、差分を見て、頼んだ変更が頼んだ範囲で正しく行われたかを確かめる工程です。

説明文やテストの合格だけで、承認しません。

次に読むもの

本文で参照している成果物:DEV-002 開発・レビュー標準、AI-003 AI変更実行記録、AI-004 AI変更承認チェックリスト

関連成果物:未確定(baselineに対応表なし)

関連危機演習:未確定(baselineに対応表なし)

学習状況

状態:未着手