code reviewとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > code reviewの意味・解説 

コード‐レビュー【code review】


コードレビュー

(code review から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/28 08:36 UTC 版)

コードレビュー: code review)は、ソフトウェア開発工程で見過ごされた誤りを検出・修正することを目的としてソースコードの体系的な検査(査読)を行う作業のこと。

概要

書き下ろされたばかりのソースコードや十分なテストがされていないコードは、潜在的にバグセキュリティホール[注釈 1]などの不具合や問題が入り込んでいることが多い。また、直接的な不具合はなくとも、命名規則に従っていなかったり、モジュール分割のような構造設計が不適切だったりと、可読性やメンテナンス性に問題があることもある。最適化されていないコードは、メモリやプロセッサ時間といったリソース(計算資源)を無駄に消費して性能低下を招くような問題を抱えていることもある。ソフトウェア品質を高めるためにはこのような不具合や問題を除去していく必要がある。潜んでいる不具合や問題の数は一般的に、ソースコードを記述した開発者(プログラマ)の設計スキルや実装スキルにも左右されるが、これらを発見し修正するための方法のひとつが、本人または他者によりソースコードの査読を行うこと、すなわちコードレビューである[1]

オンラインのソフトウェアリポジトリ(匿名のCVSなど)を使うと、複数の個人が共同でコードレビューを行うことができる。バージョン管理システム(VCS)およびホスティングサービスを利用したソフトウェア開発では、コード修正を含む分岐先ブランチのプルリクエスト(pull request)を提出する際にレビューを受けて、レビューを通過したコードのみが分岐元ブランチにマージされるようにすることで、修正により別の不具合が混入するリスクを低減させることができる。

コードレビューを自動化するソフトウェアを使うと、ソフトウェア開発者の代わりに典型的なセキュリティホールを見つける作業を行ってくれる。そのようなソフトウェアの例として、Flawfinder[2] や Rough Auditing Tool for Security (RATS)[3] などがある。GitHubと連携するSiderのような自動化サービスもある。

効果

コードレビューを実施することにより以下のような効果が期待できる。

  • レビューで発見された同様または類似のバグについて、レビュー参加者内での共通認識を図ることができる。
  • バグの隠蔽を減少させることが期待できる。
  • レビューを行うことへの意識により、人に見せるコードを書くようになるため可読性が向上する。
  • コーディング規約等に対する各自の認識のずれを修正することができる。

ただし、その性質から開発工程上の問題点も多く、批判もある(#批判の項目を参照)。

コードレビューがプロジェクトの質を向上させた例として、次のようなケースがある。[要出典]

批判

コードレビューよりもコーディングにあたっての規則や方法論を整備することのほうが重要であるとの見方もある。エクストリーム・プログラミング (XP) という技法では、ペアプログラミングというプラクティスを推奨しており、コーディングの最中に同時にコードレビューを行うようになっている。XP の信奉者は、リファクタリングやコードの前にテストを書くといったXPのプラクティスによってレビュー/書き直しが不要なコードを作成することでソフトウェア開発がスピードアップすると主張する。

DOD-STD-2167A[4] では、コードレビューは「労多く益少なし」としている。Lausen と Younessi(IEEE Software, July/Aug 1998, pg 69-73)では、行単位のコードレビューはほとんど価値がないと結論付けている。問題点を除去するという意味では、プログラマに行単位のコードレビューをさせることは、他の手法よりも生産性が低い。

コードレビューにより一定時間拘束されるため、担当作業の遅延が発生する可能性があるとの批判もある。

レビューの精度や粒度は属人的なスキルにも依存する。また、レビューの指摘項目や内容を組織内で共有できなければ、同じ指摘が相手を変えて何度も繰り返されるおそれがある。事前にレビューの目的や到達点を明確にして、開発メンバーの間で共有することも必要である[5]

コンパイラからの警告や静的コード解析の結果は、潜在的な問題点を指摘していることも多い。警告のレベルを上げ、これらを無視せずにコードを正しく修正していけば、属人的で時間のかかるコードレビューに頼らずとも、問題点のいくつかは解消できることがある[6]

脚注

注釈

  1. ^ 例えばメモリリークバッファオーバーラン(バッファオーバーフロー)、アクセス違反(セグメンテーション違反)、競合状態などの明らかに異常動作を引き起こすようなものや、書式文字列問題ディレクトリトラバーサルなどのユーザー入力に依存した潜在的な問題を抱えているものもある。バッファオーバーフローや算術オーバーフローはセキュリティ脆弱性にもなりえる。

出典

関連項目

外部リンク


「Code review」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「code review」の関連用語

code reviewのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



code reviewのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのコードレビュー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS