angular / dgeni-packages
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 263 units with 2,399 lines of code in units (45.6% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 6 medium complex units (247 lines of code)
    • 20 simple units (531 lines of code)
    • 237 very simple units (1,621 lines of code)
0% | 0% | 10% | 22% | 67%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
ts0% | 0% | 23% | 3% | 73%
js0% | 0% | 5% | 29% | 65%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
typescript0% | 0% | 24% | 4% | 71%
jsdoc0% | 0% | 6% | 31% | 61%
ngdoc0% | 0% | 12% | 9% | 77%
base0% | 0% | 0% | 40% | 59%
dgeni0% | 0% | 0% | 43% | 56%
git0% | 0% | 0% | 36% | 63%
nunjucks0% | 0% | 0% | 0% | 100%
post-process-html0% | 0% | 0% | 0% | 100%
links0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private addExportDocs()
in typescript/src/processors/readTypeScriptModules/index.ts
50 15 2
function createTagParser()
in jsdoc/processors/parse-tags.js
46 15 2
protected getMemberDocs()
in typescript/src/api-doc-types/ContainerExportDoc.ts
35 14 2
export function getContent()
in typescript/src/services/TsParser/getContent.ts
38 14 2
export function getExportDocType()
in typescript/src/services/TsParser/getExportDocType.ts
39 12 1
$process()
in ngdoc/processors/moduleDocs.js
39 11 1
$process()
in dgeni/processors/readPackageInfo.js
36 10 1
function getTypeStrings()
in jsdoc/services/transforms/extract-type.js
40 10 1
function getSnapshotVersion()
in git/services/versionInfo.js
31 10 0
$process()
in jsdoc/processors/inline-tags.js
43 9 1
protected getTypeString()
in typescript/src/api-doc-types/ApiDoc.ts
12 7 1
function formatBadTagErrorMessage()
in jsdoc/processors/extract-tags.js
19 7 1
nextLine()
in jsdoc/services/parser-adapters/html-block-parser-adapter.js
14 7 2
function extractAccessTransformImpl()
in jsdoc/services/transforms/extract-access.js
30 7 3
$process()
in base/processors/checkAnchorLinks.js
54 7 1
function normalizeSourceInfo()
in base/processors/read-files.js
20 7 2
function calcIndent()
in base/services/trimIndentation.js
23 7 1
private reportErrors()
in typescript/src/processors/linkInheritedDocs.ts
15 6 2
$process()
in dgeni/processors/wireUpServicesToPackages.js
17 6 1
function createTagExtractor()
in jsdoc/processors/extract-tags.js
34 6 2