aws / aws-toolkit-azure-devops
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 321 units with 5,073 lines of code in units (58.5% of code).
    • 0 very long units (0 lines of code)
    • 13 long units (869 lines of code)
    • 57 medium size units (1,772 lines of code)
    • 114 small units (1,666 lines of code)
    • 137 very small units (766 lines of code)
0% | 17% | 34% | 32% | 15%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
ts0% | 17% | 34% | 32% | 15%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/tasks/CloudFormationCreateOrUpdateStack0% | 33% | 32% | 23% | 9%
src/tasks/BeanstalkDeployApplication0% | 48% | 17% | 24% | 9%
src/tasks/LambdaDeployFunction0% | 34% | 52% | 8% | 5%
src/tasks/SystemsManagerRunCommand0% | 25% | 13% | 49% | 10%
src/lib0% | 6% | 35% | 45% | 12%
src/tasks/LambdaNETCoreDeploy0% | 40% | 0% | 31% | 28%
src/tasks/S3Upload0% | 24% | 13% | 53% | 8%
src/tasks/BeanstalkCreateApplicationVersion0% | 56% | 0% | 19% | 24%
src/tasks/CloudFormationExecuteChangeSet0% | 51% | 0% | 42% | 5%
build-scripts0% | 0% | 62% | 26% | 11%
src/tasks/CodeDeployDeployApplication0% | 0% | 62% | 30% | 7%
src/tasks/S3Download0% | 0% | 50% | 34% | 15%
src/tasks/SystemsManagerGetParameter0% | 0% | 65% | 33% | <1%
src/tasks/SecretsManagerCreateOrUpdateSecret0% | 0% | 44% | 39% | 15%
src/tasks/ECRPushImage0% | 0% | 50% | 16% | 32%
src/tasks/AWSShellScript0% | 0% | 53% | 15% | 31%
src/tasks/LambdaInvokeFunction0% | 0% | 59% | 0% | 40%
src/tasks/ECRPullImage0% | 0% | 53% | 18% | 28%
src/tasks/SystemsManagerSetParameter0% | 0% | 34% | 22% | 43%
src/tasks/AWSCLI0% | 0% | 37% | 31% | 31%
src/tasks/SendMessage0% | 0% | 0% | 38% | 61%
src/tasks/SecretsManagerGetSecret0% | 0% | 0% | 57% | 42%
src/tasks/CloudFormationDeleteStack0% | 0% | 0% | 28% | 71%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public async execute()
in src/tasks/SystemsManagerRunCommand/TaskOperations.ts
81 19 0
private async createOrUpdateWithChangeSet()
in src/tasks/CloudFormationCreateOrUpdateStack/TaskOperations.ts
79 13 1
77 20 4
public async execute()
in src/tasks/LambdaNETCoreDeploy/TaskOperations.ts
72 8 0
private async uploadFiles()
in src/tasks/S3Upload/TaskOperations.ts
68 12 0
private async updateStack()
in src/tasks/CloudFormationCreateOrUpdateStack/TaskOperations.ts
67 9 0
public async execute()
in src/tasks/BeanstalkDeployApplication/TaskOperations.ts
66 7 0
public async execute()
in src/tasks/BeanstalkCreateApplicationVersion/TaskOperations.ts
65 7 0
private async waitForDeploymentCompletion()
in src/tasks/BeanstalkDeployApplication/TaskOperations.ts
65 17 4
private async updateFunction()
in src/tasks/LambdaDeployFunction/TaskOperations.ts
58 14 0
public async execute()
in src/tasks/CloudFormationExecuteChangeSet/TaskOperations.ts
58 11 0
private async createFunction()
in src/tasks/LambdaDeployFunction/TaskOperations.ts
57 14 0
private async createStack()
in src/tasks/CloudFormationCreateOrUpdateStack/TaskOperations.ts
56 7 0
private async deployRevision()
in src/tasks/CodeDeployDeployApplication/TaskOperations.ts
49 6 1
public async lambdaDeploy()
in src/lib/dotNetCliWrapper.ts
48 8 9
public async execute()
in src/tasks/ECRPushImage/TaskOperations.ts
48 9 0
private async downloadFiles()
in src/tasks/S3Download/TaskOperations.ts
48 10 0
function createEndpointCredentials()
in src/lib/awsConnectionParameters.ts
47 8 6
private async updateEnvironment()
in src/tasks/BeanstalkDeployApplication/TaskOperations.ts
46 4 7
findMatchingFiles()
in build-scripts/packageExtension.ts
46 8 1