angular / angularfire
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 270 units with 2,543 lines of code in units (28.7% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 6 medium complex units (385 lines of code)
    • 7 simple units (250 lines of code)
    • 257 very simple units (1,908 lines of code)
0% | 0% | 15% | 9% | 75%
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% | 16% | 9% | 73%
js0% | 0% | 0% | 13% | 86%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
src/schematics0% | 0% | 31% | 11% | 57%
src/compat0% | 0% | 10% | 4% | 84%
tools0% | 0% | 21% | 32% | 46%
site/src0% | 0% | 0% | 14% | 85%
src/firestore0% | 0% | 0% | 0% | 100%
src0% | 0% | 0% | 0% | 100%
src/analytics0% | 0% | 0% | 0% | 100%
src/performance0% | 0% | 0% | 0% | 100%
src/remote-config0% | 0% | 0% | 0% | 100%
src/app-check0% | 0% | 0% | 0% | 100%
src/storage0% | 0% | 0% | 0% | 100%
src/messaging0% | 0% | 0% | 0% | 100%
src/functions0% | 0% | 0% | 0% | 100%
src/database0% | 0% | 0% | 0% | 100%
src/app0% | 0% | 0% | 0% | 100%
src/auth0% | 0% | 0% | 0% | 100%
site/scripts0% | 0% | 0% | 0% | 100%
src/auth-guard0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
export function addToNgModule()
in src/schematics/utils.ts
115 22 3
64 20 0
export default createBuilder()
in src/schematics/deploy/builder.ts
44 15 2
function buildView()
in src/compat/database/list/changes.ts
46 15 2
export default async function deploy()
in src/schematics/deploy/actions.ts
88 12 8
export function combineChange()
in src/compat/firestore/collection/changes.ts
28 11 2
95 10 0
export function addEnvironmentEntry()
in src/schematics/utils.ts
38 9 3
export function addFixesToServer()
in src/schematics/utils.ts
20 8 3
export function docChanges()
in src/compat/firestore/collection/changes.ts
31 8 2
function transform()
in site/src/shortcodes/includecode/transform.js
26 6 1
async create()
in site/src/shortcodes/includecode/index.js
10 6 4
export function generateFirebaseJson()
in src/schematics/setup/ssr.ts
30 6 7
async create()
in site/src/shortcodes/includecode/index.js
34 5 2
export function generateFirebaseJson()
in src/schematics/setup/static.ts
24 5 4
function removeSectionsFromSnippet()
in site/src/shortcodes/includecode/snippets.js
9 4 1
create()
in site/src/shortcodes/filters/index.js
18 4 2
function spawnIt()
in tools/run-typings-test.js
15 4 2
export function getWorkspace()
in src/schematics/utils.ts
18 4 1
export function appCheckInstanceFactory()
in src/app-check/app-check.module.ts
9 4 1