File Complexity Overall
  • There are 48 files with units, with 7,198 lines of code.
    • 2 very complex files (McCabe index sum 251+; 2,400 lines of code)
    • 1 complex files (McCabe index sum 126-250; 585 lines of code)
    • 5 medium complex files (McCabe index sum 51-125; 1,770 lines of code)
    • 7 slightly complex files (McCabe index sum 26-50; 994 lines of code)
    • 33 simple files (McCabe index sum 1-25; 1,449 lines of code)
  • 20 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system33% | 8% | 24% | 13% | 20%
Legend:
251+
126-250
51-125
26-50
1-25


explore: grouped by folders | grouped by complexity
File Complexity per Extension
251+
126-250
51-125
26-50
1-25
js33% | 8% | 24% | 13% | 20%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
harness35% | 8% | 26% | 14% | 14%
src0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Complex Files (Top 48)

The McCabe index of a file grows with its size: per 100 lines tells a large but plain file from a dense one, and most complex unit whether the complexity sits in one unit or is spread over many.

File# lines# unitsMcCabe index
(sum)
per 100
lines
most complex
unit
iscroll.js
in harness/app-assets/templates/assets/js/components
1565 80 502 32 36
curl.js
in harness
835 77 256 31 20
common.js
in harness/app-assets/templates/assets/js/bootstraps
585 46 140 24 16
flipsnap.js
in harness/app-assets/templates/assets/js/components
463 31 110 24 12
liveblog.js
in harness/app-assets/templates/assets/js/bootstraps
463 34 106 23 9
quiz.js
in harness/app-assets/templates/assets/js/modules
398 26 78 20 9
ads.js
in harness/app-assets/templates/assets/js/modules
226 19 53 23 9
comments.js
in harness/app-assets/templates/assets/js/modules
220 16 53 24 8
util.js
in harness/app-assets/templates/assets/js/modules
126 17 42 33 6
article.js
in harness/app-assets/templates/assets/js/bootstraps
193 16 41 21 7
twitter.js
in harness/app-assets/templates/assets/js/modules
121 13 38 31 7
audio.js
in harness/app-assets/templates/assets/js/bootstraps
148 13 33 22 7
mobile-range-slider.js
in harness/app-assets/templates/assets/js/components
147 14 31 21 6
football.js
in harness/app-assets/templates/assets/js/bootstraps
167 5 28 17 7
MyScroll.js
in harness/app-assets/templates/assets/js/modules
92 8 26 28 8
collagePlus.js
in harness/app-assets/templates/assets/js/modules
116 4 25 22 10
relative.js
in src/js/lib
89 8 24 27 7
relativeDates.js
in harness/app-assets/templates/assets/js/modules
85 9 23 27 10
shim.js
in harness/app-assets/templates/assets/js
117 12 21 18 6
cards.js
in harness/app-assets/templates/assets/js/modules
74 10 21 28 4
membership.js
in harness/app-assets/templates/assets/js/modules
63 5 20 32 10
cricket.js
in harness/app-assets/templates/assets/js/bootstraps
82 5 18 22 6
app.js
in harness/app-assets/templates/assets/js
48 3 14 29 12
throttle.js
in src/js/lib
31 2 12 39 9
monitor.js
in harness/app-assets/templates/assets/js/modules
63 5 11 17 3
outbrain.js
in harness/app-assets/templates/assets/js/modules
62 3 11 18 7
sharing.js
in harness/app-assets/templates/assets/js/modules
29 3 9 31 6
share.js
in src/js/lib
21 1 7 33 7
219 4 6 3 3
gallery.js
in harness/app-assets/templates/assets/js/bootstraps
40 3 6 15 3
ab.js
in harness/app-assets/templates/assets/js/modules/experiments
21 1 5 24 5
fuzzy.js
in src/js/lib
21 1 5 24 5
debounce.js
in src/js/lib
14 2 5 36 3
scrollto.js
in src/js/lib
32 2 4 13 2
witness.js
in harness/app-assets/templates/assets/js/modules
14 2 3 21 2
more-tags.js
in harness/app-assets/templates/assets/js/modules
26 2 3 12 2
array.js
in src/js/lib
9 1 3 33 3
football.js
in harness/app-assets/templates/assets/js
21 1 2 10 2
main.js
in harness/app-assets/templates/assets/js
38 2 2 5 1
cricket.js
in harness/app-assets/templates/assets/js
21 1 2 10 2
fetch.js
in src/js/lib
9 1 2 22 2
dom.js
in src/js/lib
3 1 2 67 2
sheetURL.js
in src/js/lib
4 1 2 50 2
liveblog.js
in harness/app-assets/templates/assets/js
16 1 1 6 1
gallery.js
in harness/app-assets/templates/assets/js
16 1 1 6 1
audio.js
in harness/app-assets/templates/assets/js
16 1 1 6 1
article.js
in harness/app-assets/templates/assets/js
16 1 1 6 1
$.js
in harness/app-assets/templates/assets/js/modules
13 1 1 8 1
About This Analysis
  • File complexity is the sum of the McCabe indexes (conditional complexity) of the units (methods, functions...) in a file.
  • Files are classified in five categories based on that sum: 1-25 (simple files), 26-50 (slightly complex files), 51-125 (medium complex files), 126-250 (complex files), 251+ (very complex files). The default bands are five times the unit complexity bands, as a file is a group of units.
  • Only main code files with units are classified. Files without units (languages without unit analysis, or files without functions) have no complexity to measure and are left out rather than counted as simple.
  • A very complex file holds many decisions, which often means it has too many responsibilities: a candidate to split, and a place where changes need more testing.
Learn more...