ユースケース:コードレビュー
コードレビューとは、ソフトウェアの開発工程のひとつで、ソースコード上の誤りを検出し修正することです。
ソフトウェアを構成する全てのソースコードをレビューするためには、多くの時間が必要となります。そのため、開発現場ではレビューを行う範囲を独自に絞り込むことで、より少ない時間でレビューを実施します。独自に絞り込んだ範囲を用いたレビューでは、レビューが属人化してしまうケースや、範囲自体に不備があり誤りが検出されないケースがありえます。
ここでは、Understandを用いたレビューすべきソースコードの特定やソフトウェアの定量的な評価の方法をご紹介します。
コードレビューの関連資料はこちら>>
ソフトウェアを構成する全てのソースコードをレビューするためには、多くの時間が必要となります。そのため、開発現場ではレビューを行う範囲を独自に絞り込むことで、より少ない時間でレビューを実施します。独自に絞り込んだ範囲を用いたレビューでは、レビューが属人化してしまうケースや、範囲自体に不備があり誤りが検出されないケースがありえます。
ここでは、Understandを用いたレビューすべきソースコードの特定やソフトウェアの定量的な評価の方法をご紹介します。
コードレビューの関連資料はこちら>>
課題
- 重点的にレビューすべきソースコードを絞り込みたい
- コードレビューの準備に時間がかかる
- ソースコードを定量的に評価したい
原因
レビュー範囲が特定できない例:レビューの範囲が開発者の経験や勘で決められており、属人化している。
変更後の差分が把握できない
例:ソースコードのみでは、変更点や客観的なレビュー箇所を判断しきれない。
解決策
Understandは、C/C++、Java、VB.NET、C#、Python、JavaScript、TypeScriptなどで開発されたプログラムを高速解析することができます。Understandは、ビルド環境がなく、コンパイルできないソースコードであっても、ある程度の解析結果を得ることができます。
また、C/C++においては関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析も行うことができます。
3.変更点の変更差分を確認する
Understandの機能
2つのUnderstandプロジェクトを比較し、追加/削除/変更された処理フローや関数の参照関係の差分を色分けして表示します。加えて、比較元と比較先のコード差分を色分けして表示します。
運用例
「解決策」の手順を自動化して、Gitのホスティングツールで確認する
Understandのコマンドライン機能を利用して、解決策の手順1~2」の操作を自動で実行し、Understand API機能を利用して「解決策の手順3」のグラフを自動で出力することが可能です。プルリクエストやマージリクエストのタイミングで変更された関数ごとの差分を、Git画面上に色分け表示した差分グラフで表示できます。
詳細は、弊社開発基盤ソリューションチームによる技術ブログ(Devplatform Blog)にて公開しております。 YAMLファイル(CIツールに指示するファイル)をサンプルスクリプトとしてご提供も可能です。
詳細は、弊社開発基盤ソリューションチームによる技術ブログ(Devplatform Blog)にて公開しております。 YAMLファイル(CIツールに指示するファイル)をサンプルスクリプトとしてご提供も可能です。
関連情報のご紹介
コードレビューのユースケースについて、操作動画や関連セミナーをまとめております。是非お役立てください。
- 動画:Understand操作動画(YouTube)
- セミナー:Understand 活用セミナー(中級編) - [コードレビュー編]
- 関連ソリューション:リスク分析ソリューションページ(関連ツールLattixとの組み合わせ活用)
- 関連情報:プルリクエストに制御フローグラフを追加してコードレビューが楽になるか試してみた - Devplatform blog (techmatrix.jp)
- 関連情報:Subversion で管理されたソースコードの変更差分を見やすくしてみた - Devplatform blog (techmatrix.jp)
関連資料のご案内
過去に開催したソフトウェア品質向上セミナーの講演資料をご案内します。資料は、セミナーにご登壇いただいた企業様の品質向上に関する取り組みをご紹介しています。資料をご希望の方は、申込フォームよりお申し込みください。
三菱スペース・ソフトウエア株式会社様
三菱スペース・ソフトウエア株式会社が実践する課題解決につながるツール選定・活用法のご紹介
ツール選定から導入後の効果や評価までを、ソフトウェアプロセス改善活動の視点からご紹介いたします。イベント・セミナー
ニュース・キャンペーン
ソースコード解析ツール Understandに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp