angular / universal
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 124 units with 2,252 lines of code in units (54.1% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 5 medium complex units (383 lines of code)
    • 17 simple units (518 lines of code)
    • 102 very simple units (1,351 lines of code)
0% | 0% | 17% | 23% | 59%
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% | 17% | 23% | 59%
js0% | 0% | 0% | 0% | 100%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
modules/builders0% | 0% | 32% | 21% | 45%
modules/express-engine0% | 0% | 14% | 31% | 54%
modules/common0% | 0% | 8% | 21% | 70%
modules/aspnetcore-engine0% | 0% | 0% | 78% | 21%
modules/hapi-engine0% | 0% | 0% | 56% | 43%
integration/express-engine-ivy-hybrid0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
integration/hapi-engine-ivy0% | 0% | 0% | 0% | 100%
integration/express-engine-ivy0% | 0% | 0% | 0% | 100%
integration/common-engine0% | 0% | 0% | 0% | 100%
modules/socket-engine0% | 0% | 0% | 0% | 100%
integration/clover0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
async render()
in modules/common/engine/src/engine.ts
49 16 1
function routingInitialNavigationRule()
in modules/express-engine/schematics/install/index.ts
64 16 1
export function execute()
in modules/builders/src/ssr-dev-server/index.ts
107 14 2
async function initBrowserSync()
in modules/builders/src/ssr-dev-server/index.ts
85 12 4
async function _renderUniversal()
in modules/builders/src/prerender/index.ts
78 11 6
export function findImport()
in modules/express-engine/schematics/utils/utils.ts
23 9 3
export function ngExpressEngine()
in modules/express-engine/src/main.ts
31 9 1
export async function getRoutes()
in modules/builders/src/prerender/utils.ts
30 8 3
export async function getRoutes()
in modules/builders/src/static-generator/utils.ts
29 7 3
export async function execute()
in modules/builders/src/static-generator/index.ts
59 7 2
function getProxyConfig()
in modules/builders/src/ssr-dev-server/index.ts
31 7 2
async render()
in modules/common/clover/server/src/server-engine.ts
80 7 1
function updateServerTsConfigRule()
in modules/express-engine/schematics/install/index.ts
19 7 1
function _getUniversalData()
in modules/aspnetcore-engine/src/main.ts
37 6 2
export async function ngAspnetCoreEngine()
in modules/aspnetcore-engine/src/main.ts
23 6 1
export async function ngHapiEngine()
in modules/hapi-engine/src/main.ts
17 6 1
export async function execute()
in modules/builders/src/prerender/index.ts
28 6 2
export default function()
in modules/common/schematics/ng-add/index.ts
23 6 1
private _addStyle()
in modules/common/clover/src/styles_host.ts
20 6 1
export async function getOutputPath()
in modules/express-engine/schematics/utils/utils.ts
18 6 3