awslabs / service-workbench-on-aws
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 4,762 units with 54,390 lines of code in units (48.1% of code).
    • 13 very long units (1,691 lines of code)
    • 104 long units (7,120 lines of code)
    • 578 medium size units (17,529 lines of code)
    • 869 small units (12,669 lines of code)
    • 3,198 very small units (15,381 lines of code)
3% | 13% | 32% | 23% | 28%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js2% | 12% | 32% | 23% | 28%
go16% | 23% | 28% | 17% | 14%
py0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
addons/addon-base-raas-ui2% | 9% | 33% | 23% | 30%
addons/addon-base-raas1% | 20% | 37% | 23% | 16%
addons/addon-base-workflow-api73% | 16% | 0% | 4% | 5%
addons/addon-base-ui5% | 14% | 21% | 26% | 32%
addons/addon-base-workflow4% | 3% | 25% | 25% | 40%
addons/addon-raas-s3-copy16% | 23% | 28% | 17% | 14%
addons/addon-base-post-deployment26% | 16% | 16% | 17% | 22%
addons/addon-environment-sc-api3% | 12% | 42% | 25% | 15%
addons/addon-base-rest-api0% | 31% | 32% | 19% | 16%
addons/addon-environment-sc-ui0% | 22% | 29% | 18% | 30%
addons/addon-base-workflow-ui0% | 6% | 30% | 19% | 43%
addons/addon-base0% | 4% | 23% | 27% | 44%
addons/addon-user-id-upgrade0% | 11% | 28% | 25% | 33%
addons/addon-stack-policy0% | 82% | 0% | 0% | 17%
addons/addon-base-raas-appstream0% | 18% | 46% | 19% | 16%
addons/addon-key-pair-mgmt-api0% | 0% | 64% | 10% | 25%
main/solution0% | 0% | 28% | 11% | 60%
scripts/app-stream0% | 0% | 88% | 11% | 0%
addons/addon-key-pair-mgmt-ui0% | 0% | 21% | 40% | 37%
addons/addon-base-pre-deployment0% | 0% | 29% | 36% | 34%
addons/addon-edit-s3-bucket-policy0% | 0% | 55% | 16% | 28%
main/packages0% | 0% | 0% | 38% | 61%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
async function handler()
in addons/addon-base-workflow/packages/base-workflow-core/lib/runner/handler.js
187 16 5
renderUsers()
in addons/addon-base-raas-ui/packages/base-raas-ui/src/parts/users/UsersList.js
158 9 0
func setupUploadWatcher()
in addons/addon-raas-s3-copy/packages/s3-synchronizer/src/s3-upload-file-watcher.go
153 45 5
async function configure()
in addons/addon-base-workflow-api/packages/base-worklfow-api/lib/controllers/workflow-controller.js
149 3 1
async function configure()
in addons/addon-base-raas/packages/base-raas-rest-api/lib/controllers/environment-sc-controller.js
137 2 1
renderUsers()
in addons/addon-base-ui/packages/base-ui/src/parts/users/UsersList.js
126 6 0
async start()
in addons/addon-base-raas/packages/base-raas-workflow-steps/lib/steps/provision-environment/provision-environment.js
126 12 0
render()
in addons/addon-base-raas-ui/packages/base-raas-ui/src/parts/environments-sc/parts/ScEnvironmentButtons.js
120 21 0
async createNativeAdminUser()
in addons/addon-base-post-deployment/packages/base-post-deployment/lib/steps/create-root-user-service.js
119 10 0
async start()
in addons/addon-environment-sc-api/packages/environment-sc-workflow-steps/lib/steps/terminate-launch-dependency/terminate-launch-dependency.js
109 10 0
async function configure()
in addons/addon-base-workflow-api/packages/base-worklfow-api/lib/controllers/workflow-template-controller.js
104 3 1
render()
in addons/addon-base-ui/packages/base-ui/src/parts/Login.js
102 10 0
function getRegisterStudyForm()
in addons/addon-base-raas-ui/packages/base-raas-ui/src/models/forms/RegisterStudyForm.js
101 1 0
renderAddUserForm()
in addons/addon-base-ui/packages/base-ui/src/parts/users/AddUser.js
99 5 0
async resolveEnvConfigVars()
in addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/environment-config-vars-service.js
99 11 4
renderForm()
in addons/addon-base-raas-ui/packages/base-raas-ui/src/parts/environments-sc/parts/ScEnvironmentUpdateCidrs.js
99 12 0
async saveCognitoUserPool()
in addons/addon-base-rest-api/packages/services/lib/authentication-providers/built-in-providers/cogito-user-pool/provisioner-service.js
97 10 1
renderMain()
in addons/addon-base-ui/packages/base-ui/src/parts/api-keys/ApiKeysList.js
97 1 0
async list()
in addons/addon-base-raas/packages/base-raas-services/lib/environment/service-catalog/environment-config-vars-service.js
97 1 1
async function updateEnvOnProvisioningSuccess()
in addons/addon-base-raas/packages/base-raas-services/lib/plugins/env-provisioning-plugin.js
97 9 7