Subnavigation
メトリクス
ソフトウェアメトリクスは、コードの品質を維持し、保守性を高めるのに役立ちます。
コードがソフトウェアの劣化の影響を受けないようにする方法の一つは、事前に定義されたルールに従うことです。
静的解析ツールAxivion Suiteには、一般的なソフトウェアメトリクスに関するルールセットが含まれています。これには、行やトークンに基づくメトリクス、ネスティング、サイクロマティック複雑度、制御フロー、あるいはHalsteadなどのソフトウェアメトリクスのルールセットが含まれています。HISのようなルールセット全体もサポートされています。HISのようなルールセット全体もサポートされています。
さらに、Axivion Suiteのルールエディタを使用すれば、いつでも独自のルールを追加できます。
静的解析ツールAxivion Suiteに含まれるメトリックルール
- LOC (Lines Of Code): コード行数
- ネスティング: 関数内の最大ネスト数をカウントします。
- McCabe 循環的複雑度: グラフの制御フローにおいて、複数の後続ノードを持つノードの数をカウントします。switch文内のすべての空でないcase文がカウントされます。
- McCabe Switch 複雑度: 前述のように、ここでは各switch~caseが1回だけカウントされます。
- 循環的複雑度(拡張):ブール演算子を複雑度の指標に組み込むものです。
- NPath: 関数内で実行される可能性のあるパスの数をカウントします。
- Number of of Invocations: ルーチン内の関数コールの数をカウントします。
- Number of Parameters: 関数のパラメーターの数をカウントします。
- Statements: 関数内のステートメント数をカウントします。
- Comment: 関数内のコメントを含む行数を数えます。
- Metric Comment Density: 関数内のコメント密度(関数の前と関数内のコメント/ステートメント数)を計算します。
- Halstead メトリクス
メトリクスのモニタリング方法がわからない場合
既存のルールのチェックを導入する必要があるか、独自のルールを追加したい場合でも、Qt がサポートします。
具体的な利用シナリオについてご相談したい場合やデモのスケジュールを調整したい場合は、お気軽にお問い合わせください。