aws-samples / connected-vehicle-lab
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 899 units with 12,063 lines of code in units (76.4% of code).
    • 7 very long units (2,006 lines of code)
    • 17 long units (1,165 lines of code)
    • 103 medium size units (3,324 lines of code)
    • 166 small units (2,395 lines of code)
    • 606 very small units (3,173 lines of code)
16% | 9% | 27% | 19% | 26%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js16% | 9% | 27% | 19% | 26%
py0% | 0% | 0% | 29% | 70%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
digital-shadow/demo-car/js/aws-iot17% | 9% | 28% | 19% | 25%
digital-shadow/connected-vehicle-app-cdk/lib0% | 100% | 0% | 0% | 0%
digital-shadow/demo-car/js0% | 0% | 20% | 16% | 63%
vehicle-command/lambda/custom0% | 0% | 0% | 47% | 52%
digital-shadow/tcu0% | 0% | 0% | 29% | 70%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
(function (global)()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
712 211 1
(function ()()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
573 1 1
Url.prototype.resolveObject = function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
201 105 1
Url.prototype.parse = function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
172 65 3
_doProcessBlock: function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
128 21 2
function connect()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
112 48 1
(function (global)()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
108 38 1
_doProcessBlock: function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
99 2 2
constructor()
in digital-shadow/connected-vehicle-app-cdk/lib/connected-vehicle-app-cdk-stack.js
97 1 3
_doProcessBlock: function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
80 11 2
function formatValue()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
80 31 3
_doProcessBlock: function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
77 13 2
function encode()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
74 15 1
Parser.prototype._parseConnect = function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
67 18 0
(function (global)()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
65 22 1
this.register = function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
65 17 3
function utf8Slice()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
63 24 3
module.exports = function()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
61 22 1
function utf8ToBytes()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
60 22 2
(function ()()
in digital-shadow/demo-car/js/aws-iot/aws-iot.js
57 1 1