microsoft / Windows-AppConsult-samples-PWA
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 1,542 units with 15,465 lines of code in units (42.0% of code).
    • 6 very long units (789 lines of code)
    • 14 long units (962 lines of code)
    • 156 medium size units (4,533 lines of code)
    • 247 small units (3,604 lines of code)
    • 1,119 very small units (5,577 lines of code)
5% | 6% | 29% | 23% | 36%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js5% | 5% | 29% | 23% | 36%
cs0% | 26% | 23% | 15% | 34%
ts0% | 0% | 70% | 0% | 29%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Canvas5% | 5% | 29% | 23% | 36%
ToastActivationWithPushNotifications0% | 58% | 0% | 8% | 32%
AlexaSkill0% | 45% | 54% | 0% | 0%
OneDriveAlexaSkill0% | 39% | 44% | 12% | 3%
WindowsAPIs0% | 0% | 54% | 0% | 45%
MyFullTrustPWA0% | 0% | 22% | 34% | 42%
Docker0% | 0% | 0% | 18% | 81%
ToastActivation0% | 0% | 0% | 31% | 68%
PWADotNetCore0% | 0% | 0% | 29% | 70%
PWAFromScratch0% | 0% | 0% | 0% | 100%
DevCenterNotifications-PWA0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
attribute: literal()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
192 3 1
oneTimeTextBindingAnalyze: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
140 70 1
compile: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
124 11 3
bindToken: literal()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
115 17 1
sourceProperties: literal()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
113 17 1
function reservedWordLookup()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
105 49 1
private void InitializeComponent()
in ToastActivationWithPushNotifications/PushTestserver/Form1.Designer.cs
95 1 0
function calculateScore()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
80 20 5
79 73 1
gatherBindings: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
76 10 0
function run()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
73 20 1
optimize: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
73 18 0
function lex()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
72 17 4
_keyDownHandler: function _KeyboardBehavior_keyDownHandler()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
71 30 1
function getBrowserStyleEquivalents()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
65 5 0
public static async Task Run()
in AlexaSkill/AlexaSkill/Alexa.cs
57 9 3
continuumForwardIn: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
57 1 3
function declarativeBindImpl()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
57 25 6
public static async Task Run()
in OneDriveAlexaSkill/OneDriveAlexaSkill/Skill.cs
55 8 3
_listItemInserted: function()
in Canvas/CanvasSimple/lib/winjs-4.0.1/js/base.js
52 6 1