関数本体内の行数がしきい値を上回っている
説明
この欠陥は、本体内の行数がチェッカーの定義済みしきい値を超えている関数に対して報告されます。Polyspace が関数本体内の行数を計算する方法について詳しくは、本体内の行数
を参照してください。
Polyspace® は、ユーザーがしきい値を指定しない限り、既定のしきい値として 1200 を使用します。しきい値を指定できる選択ファイルを指定するには、オプション [ファイルごとにチェッカーを設定] (-checkers-selection-file)
または [チェッカー アクティベーション ファイル] (-checkers-activation-file)
を使用します。
polyspace-comments-import
を使用して以前の解析からコメントをインポートすると、Polyspace は以前の結果のコード メトリクスの本体内の行数
に関するレビュー情報を、このチェッカーの現在の結果にコピーします。現在の結果に同じコード メトリクスが含まれている場合、レビュー情報はそのコード メトリクスにもコピーされます。
リスク
このチェッカーが違反している場合、関数が長すぎる可能性があります。長すぎる関数は読みづらく、理解するのも困難です。長すぎる関数の保守、テスト、デバッグは、リソースと時間の点でコストがかかる可能性があります。
修正方法
このチェックを修正するには、コードをリファクタリングするか、チェッカーのしきい値を変更します。コードをリファクタリングする場合は、関数をモジュラーにします。つまり、関数ごとに 1 つの特定のタスクを実行して、関数の二次的影響が可能な限り小さくなるようにコードを設計します。関数をモジュラー設計にすると、簡単にテスト、デバッグ、保守できるようになります。モジュラー関数を使用すれば、コードを効率的に再利用できるようにもなるため、コードの重複が削減される可能性もあります。
ベスト プラクティスは、開発後のリファクタリング コストを回避するために、開発の早期段階でモジュールの複雑度をチェックすることです。
例
チェック情報
グループ: ソフトウェアの複雑度 |
言語: C | C++ |
頭字語: SC10
|
既定のしきい値: 1200 |
バージョン履歴
R2021a で導入