angular / bower-material
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 2,561 units with 25,945 lines of code in units (27.0% of code).
    • 5 very long units (669 lines of code)
    • 27 long units (1,935 lines of code)
    • 228 medium size units (6,817 lines of code)
    • 507 small units (7,188 lines of code)
    • 1,794 very small units (9,336 lines of code)
2% | 7% | 26% | 27% | 35%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js2% | 7% | 26% | 27% | 35%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
modules/js/chips16% | 6% | 21% | 24% | 30%
modules/js/virtualRepeat21% | 11% | 27% | 10% | 28%
modules/closure/select11% | 8% | 24% | 28% | 26%
modules/js/select13% | 0% | 26% | 33% | 27%
modules/closure/menu18% | 23% | 17% | 17% | 23%
modules/closure/datepicker0% | 15% | 29% | 26% | 28%
modules/js/datepicker0% | 16% | 25% | 26% | 30%
modules/js/menu0% | 25% | 27% | 23% | 23%
modules/closure/autocomplete0% | 11% | 22% | 23% | 42%
modules/closure/tabs0% | 11% | 23% | 29% | 35%
modules/js/tabs0% | 12% | 23% | 25% | 38%
modules/closure/gridList0% | 19% | 22% | 16% | 41%
modules/js/gridList0% | 21% | 17% | 17% | 43%
modules/closure/virtualRepeat0% | 14% | 36% | 12% | 35%
modules/js/slider0% | 18% | 24% | 15% | 41%
modules/closure/chips0% | 7% | 30% | 26% | 35%
modules/closure/progressCircular0% | 30% | 20% | 31% | 16%
modules/js/progressCircular0% | 30% | 20% | 31% | 16%
modules/js/autocomplete0% | 6% | 19% | 24% | 49%
modules/closure/panel0% | 0% | 38% | 31% | 29%
modules/js/panel0% | 0% | 38% | 31% | 29%
modules/js/menuBar0% | 0% | 37% | 25% | 37%
modules/closure/menuBar0% | 0% | 37% | 26% | 35%
modules/closure/navBar0% | 0% | 33% | 33% | 33%
modules/closure/tooltip0% | 0% | 42% | 32% | 25%
modules/closure/slider0% | 0% | 31% | 21% | 46%
modules/closure/dialog0% | 0% | 28% | 23% | 47%
modules/js/input0% | 0% | 19% | 24% | 56%
modules/js/icon0% | 0% | 31% | 25% | 43%
modules/closure/input0% | 0% | 16% | 26% | 57%
modules/js/dialog0% | 0% | 22% | 29% | 48%
modules/js/tooltip0% | 0% | 32% | 44% | 23%
modules/closure/sticky0% | 0% | 46% | 38% | 15%
modules/closure/fabSpeedDial0% | 0% | 22% | 29% | 47%
modules/js/fabSpeedDial0% | 0% | 23% | 25% | 50%
modules/closure/icon0% | 0% | 22% | 33% | 44%
modules/closure/radioButton0% | 0% | 28% | 28% | 42%
modules/js/navBar0% | 0% | 15% | 43% | 40%
modules/js/sticky0% | 0% | 33% | 40% | 26%
modules/closure/sidenav0% | 0% | 27% | 35% | 36%
modules/closure/toast0% | 0% | 26% | 46% | 26%
modules/closure/progressLinear0% | 0% | 35% | 34% | 30%
modules/js/progressLinear0% | 0% | 35% | 17% | 47%
modules/js/radioButton0% | 0% | 17% | 38% | 44%
modules/closure/bottomSheet0% | 0% | 32% | 12% | 54%
modules/js/list0% | 0% | 14% | 52% | 32%
modules/closure/list0% | 0% | 15% | 48% | 35%
modules/js/sidenav0% | 0% | 16% | 44% | 38%
modules/js/button0% | 0% | 46% | 0% | 53%
modules/closure/button0% | 0% | 49% | 0% | 50%
modules/js/bottomSheet0% | 0% | 26% | 24% | 50%
modules/js/toast0% | 0% | 17% | 54% | 28%
modules/js/backdrop0% | 0% | 55% | 26% | 17%
modules/closure/backdrop0% | 0% | 75% | 0% | 24%
modules/closure/textField0% | 0% | 31% | 16% | 51%
modules/js/textField0% | 0% | 31% | 16% | 51%
modules/closure/colors0% | 0% | 13% | 49% | 37%
modules/js/colors0% | 0% | 13% | 43% | 42%
modules/js/showHide0% | 0% | 56% | 0% | 43%
modules/closure/showHide0% | 0% | 72% | 0% | 27%
modules/closure/checkbox0% | 0% | 0% | 53% | 46%
modules/closure/toolbar0% | 0% | 0% | 82% | 17%
modules/js/toolbar0% | 0% | 0% | 82% | 17%
modules/js/checkbox0% | 0% | 0% | 36% | 63%
modules/closure/fabToolbar0% | 0% | 0% | 77% | 22%
modules/js/fabToolbar0% | 0% | 0% | 77% | 22%
modules/closure/subheader0% | 0% | 0% | 45% | 54%
modules/closure/fabActions0% | 0% | 0% | 51% | 48%
modules/js/fabActions0% | 0% | 0% | 58% | 41%
modules/js/whiteframe0% | 0% | 0% | 44% | 55%
modules/closure/whiteframe0% | 0% | 0% | 59% | 40%
modules/js/content0% | 0% | 0% | 37% | 62%
modules/closure/content0% | 0% | 0% | 42% | 57%
modules/closure/switch0% | 0% | 0% | 57% | 42%
modules/js/switch0% | 0% | 0% | 57% | 42%
modules/js/subheader0% | 0% | 0% | 0% | 100%
modules/js/swipe0% | 0% | 0% | 0% | 100%
modules/closure/swipe0% | 0% | 0% | 0% | 100%
modules/js/fabTrigger0% | 0% | 0% | 0% | 100%
modules/js/truncate0% | 0% | 0% | 0% | 100%
modules/js/divider0% | 0% | 0% | 0% | 100%
modules/js/card0% | 0% | 0% | 0% | 100%
modules/closure/fabTrigger0% | 0% | 0% | 0% | 100%
modules/closure/truncate0% | 0% | 0% | 0% | 100%
modules/closure/card0% | 0% | 0% | 0% | 100%
modules/closure/divider0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
(function( window, angular, undefined )()
in modules/js/chips/chips.js
159 5 3
(function( window, angular, undefined )()
in modules/js/virtualRepeat/virtualRepeat.js
153 13 3
function calculateMenuPositions()
in modules/closure/select/select.js
122 24 3
function calculateMenuPositions()
in modules/js/select/select.js
122 24 3
function MenuController()
in modules/closure/menu/menu.js
113 20 9
template: function()
in modules/closure/tabs/tabs.js
99 1 2
template: function()
in modules/js/tabs/tabs.js
99 1 2
row: parseInt()
in modules/closure/gridList/gridList.js
94 15 2
row: parseInt()
in modules/js/gridList/gridList.js
94 15 2
function compile()
in modules/closure/select/select.js
87 5 2
VirtualRepeatController.prototype.virtualRepeatUpdate_ = function()
in modules/closure/virtualRepeat/virtualRepeat.js
84 21 2
84 21 2
top: parseFloat()
in modules/closure/menu/menu.js
79 21 1
top: parseFloat()
in modules/js/menu/menu.js
79 21 1
(function( window, angular, undefined )()
in modules/js/slider/slider.js
75 2 3
71 14 1
71 14 1
function MdProgressCircularDirective()
in modules/closure/progressCircular/progressCircular.js
67 11 6
function compile()
in modules/closure/chips/chips.js
67 17 2
function MdProgressCircularDirective()
in modules/js/progressCircular/progressCircular.js
67 11 6