結論:コードレビューは、プログラムの変更内容を別の人が確認し、誤り、分かりにくさ、将来の修正リスクを早い段階で見つける活動です。動くかどうかだけでなく、意図どおりの変更か、読みやすく安全に保守できるかを確認します。ITパスポートでは、テストと同じものではなく、複数人で品質を支える方法として区別しましょう。
コードレビューとは
コードレビューとは、開発者が書いたプログラムのソースコードを、本人以外の開発者が確認することです。変更した理由、処理の流れ、想定外の入力への対応、既存機能への影響などを見ます。レビューする人は誤字探しだけをするのではなく、利用者や次に修正する人にとって問題がないかを考えます。
IPAのITパスポート試験シラバスVer.6.5では、システム開発技術に関する用語例としてコードレビューが挙げられています。試験では、コードを書いた本人だけで完結させず、第三者の視点で確認する活動だと押さえると判断しやすくなります。
確認する流れ
- 変更の目的を共有する:何を直したか、どの要件に対応したかを説明します。
- コードを読む:条件分岐、入力値の扱い、例外時の処理、既存機能への影響を確認します。
- 指摘を話し合う:問題の理由と改善案を記録し、必要なら修正します。
- 修正結果を確認する:指摘への対応後、変更が目的に沿うかを改めて確認します。
レビューは、担当者を責めるための工程ではありません。変更を早く共有し、見落としを減らし、チームで同じ品質基準を学ぶために行います。指摘は人ではなくコードと要件に向け、理由を添えることが重要です。
単体テストとの違い
| 観点 | コードレビュー | 単体テスト |
|---|---|---|
| 主な確認者 | 変更を書いた人以外の開発者 | テストを実行する仕組みや開発者 |
| 主な確認対象 | 読みやすさ、設計、条件漏れ、変更意図 | 部品が期待した入力と出力になるか |
| 役割 | 人の視点で改善点を見つける | 実行結果で動作を確かめる |
単体テストは、プログラムの部品が期待どおりに動くかを確かめる方法です。テストの基本を先に確認したい人は、単体テストとは?プログラムの部品を確認する方法を読むと、コードレビューとの役割分担が分かります。
一方、テストが通っても、同じ処理が何度も書かれている、命名が分かりにくい、将来の変更で誤解しやすいといった点は残ることがあります。コードレビューとテストを組み合わせると、実行結果と人の確認を補い合えます。
リファクタリング・XPとの使い分け
リファクタリングは、外から見える動作を変えずにコードの内部構造を整える作業です。どこを変え、動作が変わらないことをどう確かめるかを共有するため、コードレビューと相性があります。リファクタリングとは?動作を変えずにコードを改善する考え方で、バグ修正や機能追加との違いも確認してください。
XPは短い開発サイクルで実装と品質確認を繰り返すアジャイル開発手法です。コードレビューはXPそのものではなく、品質を高めるために使える確認方法の一つです。XPとは?短い開発サイクルと継続的な改善を重視する手法を読むと、テストや継続的インテグレーションと並ぶ位置付けを整理できます。
仕事での場面
業務システムの申請画面に入力項目を追加する場合、開発担当者は変更したコードをレビューに出します。確認する人は、入力が空の場合の扱い、権限のない利用者が操作できないか、既存の申請処理に影響しないかを要件と照らして確認します。公開後に利用者から不具合の連絡を受ける前に、変更の影響をチームで検討する場面です。
開発と運用を連携させる考え方は、DevOpsとは?開発と運用を連携させる考え方で確認できます。変更内容を共有し、運用時の影響も考える視点があると、レビューで確認すべき範囲を考えやすくなります。
日常生活で考えると
日常生活では、家計の大きな契約や旅行の予約内容を、申し込む前に家族や同行者と見直す場面に似ています。本人は目的を理解して入力していても、日付、人数、解約条件などを別の人が読むと、見落としに気付くことがあります。ただし、コードレビューは単に承認をもらう行為ではなく、変更内容を技術的な観点で確認する活動です。
ITパスポートの要点
- コードレビューは、ソースコードを第三者が確認する活動です。
- 目的は、誤りや改善点を早く見つけ、品質と保守しやすさを高めることです。
- 単体テストは実行結果を確かめ、コードレビューは人が内容や意図を確認します。
- 指摘は個人への評価ではなく、要件とコードの品質を対象にします。
確認問題
問1
コードレビューの説明として最も適切なものはどれか。
- プログラムを実行せず、利用者だけが画面の色を選ぶ活動
- 変更したソースコードを別の開発者が確認し、誤りや改善点を見つける活動
- 障害発生後に、利用者へ復旧予定を伝える活動
- 完成したシステムを必ず本番環境へ公開する活動
正解はBです。コードレビューは、変更内容を第三者の視点で確認し、早い段階で問題や改善点を見つける活動です。
問2
コードレビューと単体テストの違いとして適切なものはどれか。
- コードレビューは人が内容を確認し、単体テストは部品の動作を実行して確かめる
- コードレビューは本番環境でだけ行い、単体テストは開発中には行わない
- コードレビューは利用者が行い、単体テストは営業担当者が行う
- コードレビューと単体テストは同じ目的なので、どちらか一方は不要である
正解はAです。二つは確認する観点が異なります。テストで動作を確かめ、レビューで意図、読みやすさ、条件漏れなども確認します。
まとめ
コードレビューは、複数人でソースコードを確認し、品質を高める活動です。テストと使い分けながら、変更の目的、条件漏れ、読みやすさ、既存機能への影響を早く確認します。試験では、第三者による確認と、単体テストとの役割の違いを結び付けて覚えましょう。

