Complexity Metrics is one of Understand's built-in reports — run it on your own code from the GUI, or headlessly with und report.
Complexity Metrics
Languages: AnyTargets: Architectures, Classes, Files, Project
For the functions in the target project, architecture, or file, report complexity metrics
The function complexity metrics reported by default are:
- McCabe Cyclomatic Complexity [aka CC] (Cyclomatic)
- Modified McCabe Cyclomatic Complexity [aka CC3] (CyclomaticModified)
- Strict McCabe Cyclomatic Complexity [aka CC2] (CyclomaticStrict)
- Essential Complexity (Essential)
- Max Nesting (MaxNesting)
- Paths Log(x) (CountPathLog)
Additional function cyclomatic metrics that can be included are:
- Paths [aka NPATH] (CountPath) - note value is truncated at 999,999,999
- Stict Modified Cyclomatic Complexity (CyclomaticStrictModified)
- Essential Strict Modified Complexity (EssentialStrictModified) - note only applies to Ada
- Knots (Knots)
- Max Essential Knots (MaxEssentialKnots)
- Min Essential Knots (MinEssentialKnots)
- Sonar's Cognitive Complexity (CognitiveComplexity) - note this is a metric plugin and may take a longer time to calculate
For project, architecture, and file groups, the following cyclomatic metrics are reported by default
- Sum McCabe Cyclomatic Complexity [aka CC] (SumCyclomatic)
- Sum Modified McCabe Cyclomatic Complexity [aka CC3] (SumCyclomaticModified)
- Sum Strict McCabe Cyclomatic Complexity [aka CC2] (SumCyclomaticStrict)
- Sum Essential Complexity (SumEssential)
- Max Nesting (MaxNesting)
And the following additional metrics are available
- Average McCabe Cyclomatic Complexity [aka CC] (AvgCyclomatic)
- Max McCabe Cyclomatic Complexity [aka CC] (MaxCyclomatic)
- Average Modified McCabe Cyclomatic Complexity [aka CC3] (AvgCyclomaticModified)
- Max Modified McCabe Cyclomatic Complexity [aka CC3] (MaxCyclomaticModified)
- Average Strict McCabe Cyclomatic Complexity [aka CC2] (AvgCyclomaticStrict)
- Max Strict McCabe Cyclomatic Complexity [aka CC2] (MaxCyclomaticStrict)
- Average Essential Complexity (AvgEssential)
- Max Essential Complexity (MaxEssential)
- Sum Stict Modified Cyclomatic Complexity (SumCyclomaticStrictModified)
- Average Stict Modified Cyclomatic Complexity (AvgCyclomaticStrictModified)
- Max Stict Modified Cyclomatic Complexity (MaxCyclomaticStrictModified)