ユースケース:コードレビュー

コードレビューとは、ソフトウェアの開発工程のひとつで、ソースコード上の誤りを検出し修正することです。 ソフトウェアを構成する全てのソースコードをレビューするためには、多くの時間が必要となります。そのため、開発現場ではレビューを行う範囲を独自に絞り込むことで、より少ない時間でレビューを実施します。独自に絞り込んだ範囲を用いたレビューでは、レビューが属人化してしまうケースや、範囲自体に不備があり誤りが検出されないケースありえます。
ここでは、Underestandを用いたレビューすべきソースコードの特定やソフトウェアの定量的な評価の方法をご紹介します。

課題

  • 重点的にレビューすべきソースコードを絞り込みたい
  • コードレビューの準備に時間がかかる
  • ソースコードを定量的に評価したい

原因

  • レビューの範囲が開発者の経験や勘で決められており、属人化している。

解決策

複雑度や行数などのソースコードの定量的な値を用いてコードレビューの範囲を決定します。

  1. 複雑度の高い関数を確認する
  2. 複雑な関数の分布度合いを視覚的に確認する

1.複雑度の高い関数を確認する

ポイント
  • 複雑度が高い関数を確認

Understandの利用

Understandでは、複雑度やコード行数といったメトリクスの値に応じたレポートを出力します。解析性・理解性・保守性を低減させる要因となる、複雑度が高い関数を重点的にレビューできます。以下の例では、左から「Cyclomatic 複雑度が20を超える関数を抽出」、「Essential 複雑度が10を超える関数を抽出」、「コード行数が100行を超える関数を抽出」した結果を表示したものになります。


【操作方法】
  1. プラグインページから、"Complex Functions", "Large Functions"プラグインをダウンロード、インストールします。
  2. Complex Functionsでは、Cyclomatic / CyclomaticStrict / CyclomaticModified / Essentialからレポート対象とする複雑度のメトリクスを1つ選択し、Thresholdにレポートの条件とする閾値とする値を入力します。その後、[OK]ボタンを押下することでレポートが表示されます。
  3. Large Functionsでは、CountLine / CountLineCode / CountLineCodeExe / CountStmt / CountStmtExeからレポート対象とする複雑度のメトリクスを1つ選択し、Thresholdにレポートの条件とする閾値とする値を入力します。その後、[OK]ボタンを押下することでレポートが表示されます。
※メトリクスの詳細については、メトリクスの一覧を参照ください。
 

2.複雑な関数の分布度合いを視覚的に確認する

ポイント
  • 複雑な関数の分布度合いを確認

Understandの利用

Understandでは、メトリクスツリーマップを用いて関数の分布度合を表示し、レビューの起点となる複雑な関数を特定します。例えば、以下では、ボックスのサイズが CountLine(行数)を、ボックスの色がCyclomatic(複雑度)としてメトリクスツリーマップを表示しています。この例では、長く複雑な関数が幾つかのファイルに分布していることが分かります。


【操作方法】
  1. [メトリクス]メニューから、[メトリクス ツリーマップ]を選択します。
  2. 以下のように”メトリクス ツリーマップ オプション”が表示されますので、メトリクスの粒度やボックスのサイズに割り当てるメトリクス、ボックスの色に割り当てるメトリクスを設定し、[ツリーマップの作成]を押下します。

ソースコード解析ツール Understandに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
scitools-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。