Complexity)とは、ソフトウェア品質を測定するソフトウェアコードメトリクスのひとつで、プログラムの複雑度を測定するものです。McCabeによって1976年に考案されました。線形的に独立な経路の数を数値化するもので、例えば、ソースコード内に条件が1つのif文のような決定論理が1つある場合、if文が真の場合とif文が偽の場合があり、線形的に独立したパスは2つとなります。高くなると、プログラムは複雑になります。バグの混入リスクや発見されたバグの修正にかかる時間が増え、修正で新たなバグが購入する可能性も増えるため、再利用が困難になります。テストに必要なテストパターンの数も減るため、カバレッジも上げることができます。構造的なリスクあり40%50以上テスト不可能70%75以上いかなる変更も誤修正を生む98%循環的複雑度を下げるために循環的複雑度を低減する一つの手段として、リファクタリングによる簡略化があげられます。リファクタリングとはプログラムの振る舞いを変更せず、コードの内部構造を改善することです。大規模関数内に複数回現れる処理をコンポーネント化し、関数を整理します。リファクタリングにより、コードの可読性の向上やテストのしやすさにも繋がります。循環的複雑度を高くしている関数を見つけてリファクタリングすることにより、コードの品質向上が見込まれます。マッピングまた、以下のソフトウェアメトリクス測定関連タスクで、高品質なコードの完成を支援します。Webダッシュボードで表示されたソフトウェア品質メトリクスさらに、Polyspaceは循環的複雑度やその他のソフトウェアメトリクスの測定の他、下記の解析機能を提供し、ソースコード解析を強力にサポートします。製品ページをご覧ください。scienceMathWorksはエンジニアや研究者向け数値解析ソフトウェアのリーディングカンパニーです。