awslabs / aws-solutions-constructs
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 16% duplication:
    • 8,177 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,333 duplicated lines
  • 186 duplicates
system16% (1,333 lines)
Duplication per Extension
ts15% (1,078 lines)
js9% (93 lines)
py37% (88 lines)
yml94% (74 lines)
Duplication per Component (primary)
source/patterns/@aws-solutions-constructs16% (1,012 lines)
source/use_cases/aws-restaurant-management-demo17% (99 lines)
source/use_cases/aws-serverless-web-app34% (88 lines)
source/use_cases/aws-s3-static-website86% (79 lines)
source/use_cases97% (37 lines)
deployment/v229% (18 lines)
source/tools/cdk-integ-tools0% (0 lines)
source/use_cases/aws-serverless-image-handler0% (0 lines)
source/use_cases/aws-custom-glue-etl0% (0 lines)
ROOT0% (0 lines)
deployment0% (0 lines)

Duplication Between Components (50+ lines)

G source/use_cases/aws-s3-static-website source/use_cases/aws-s3-static-website source/use_cases/aws-serverless-web-app source/use_cases/aws-serverless-web-app source/use_cases/aws-s3-static-website--source/use_cases/aws-serverless-web-app 167 source/patterns/@aws-solutions-constructs source/patterns/@aws-solutions-constructs source/use_cases source/use_cases source/patterns/@aws-solutions-constructs--source/use_cases 74

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 186 duplicates...
Size#FoldersFilesLinesCode
36 x 2 source/use_cases/aws-s3-static-website/lib/lambda
source/use_cases/aws-ser...b/lambda/static-content
copy_s3_objects.py
copy_s3_objects.py
5:46 (80%)
5:46 (81%)
view
35 x 2 source/use_cases/aws-s3-static-website/lib
source/use_cases/aws-serverless-web-app/lib
s3-static-site-stack.ts
s3-static-site-stack.ts
35:73 (76%)
37:75 (67%)
view
28 x 2 source/patterns/@aws-solutions-constructs
source/use_cases
eslintrc.yml
eslintrc.yml
1:36 (68%)
1:36 (75%)
view
15 x 2 source/patterns/@aws-sol...cts/aws-alb-fargate/lib
source/patterns/@aws-sol...cts/aws-fargate-sns/lib
index.ts
index.ts
207:222 (17%)
150:165 (26%)
view
14 x 2 source/patterns/@aws-sol...mbda-secretsmanager/lib
source/patterns/@aws-sol...ucts/aws-lambda-sqs/lib
index.ts
index.ts
94:110 (31%)
113:129 (25%)
view
14 x 2 source/patterns/@aws-sol...-lambda-eventbridge/lib
source/patterns/@aws-sol...mbda-secretsmanager/lib
index.ts
index.ts
88:104 (30%)
94:110 (31%)
view
14 x 2 source/patterns/@aws-sol...aws-lambda-dynamodb/lib
source/patterns/@aws-sol...ambda-stepfunctions/lib
index.ts
index.ts
92:108 (23%)
99:116 (31%)
view
14 x 2 source/patterns/@aws-sol...-lambda-eventbridge/lib
source/patterns/@aws-sol...ucts/aws-lambda-sqs/lib
index.ts
index.ts
88:104 (30%)
113:129 (25%)
view
14 x 2 source/patterns/@aws-sol...mbda-secretsmanager/lib
source/patterns/@aws-sol...ucts/aws-lambda-sns/lib
index.ts
index.ts
94:110 (31%)
95:111 (31%)
view
14 x 2 source/patterns/@aws-sol...aws-lambda-dynamodb/lib
source/patterns/@aws-sol...ucts/aws-lambda-sqs/lib
index.ts
index.ts
92:108 (23%)
113:129 (25%)
view
14 x 2 source/patterns/@aws-sol...aws-lambda-dynamodb/lib
source/patterns/@aws-sol...ucts/aws-lambda-sns/lib
index.ts
index.ts
92:108 (23%)
95:111 (31%)
view
14 x 2 source/patterns/@aws-solutions-constructs/core/lib
source/patterns/@aws-solutions-constructs/core/lib
apigateway-helper.ts
apigateway-helper.ts
98:122 (7%)
150:175 (7%)
view
14 x 2 source/patterns/@aws-sol...-lambda-eventbridge/lib
source/patterns/@aws-sol...ucts/aws-lambda-sns/lib
index.ts
index.ts
88:104 (30%)
95:111 (31%)
view
14 x 2 source/patterns/@aws-sol...ucts/aws-lambda-sqs/lib
source/patterns/@aws-sol...ambda-stepfunctions/lib
index.ts
index.ts
113:129 (25%)
99:116 (31%)
view
14 x 2 source/patterns/@aws-sol...aws-lambda-dynamodb/lib
source/patterns/@aws-sol...mbda-secretsmanager/lib
index.ts
index.ts
92:108 (23%)
94:110 (31%)
view
14 x 2 source/patterns/@aws-sol...ucts/aws-lambda-sns/lib
source/patterns/@aws-sol...ambda-stepfunctions/lib
index.ts
index.ts
95:111 (31%)
99:116 (31%)
view
14 x 2 source/patterns/@aws-sol...-lambda-eventbridge/lib
source/patterns/@aws-sol...ambda-stepfunctions/lib
index.ts
index.ts
88:104 (30%)
99:116 (31%)
view
14 x 2 source/patterns/@aws-sol...mbda-secretsmanager/lib
source/patterns/@aws-sol...ambda-stepfunctions/lib
index.ts
index.ts
94:110 (31%)
99:116 (31%)
view
14 x 2 source/patterns/@aws-sol...aws-lambda-dynamodb/lib
source/patterns/@aws-sol...-lambda-eventbridge/lib
index.ts
index.ts
92:108 (23%)
88:104 (30%)
view
14 x 2 source/patterns/@aws-sol...ucts/aws-lambda-sns/lib
source/patterns/@aws-sol...ucts/aws-lambda-sqs/lib
index.ts
index.ts
95:111 (31%)
113:129 (25%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
10 x 2 source/use_cases/aws-s3-static-website/lib/lambda
source/use_cases/aws-ser...b/lambda/static-content
copy_s3_objects.py
copy_s3_objects.py
0:0 
0:0 
view
8 x 2 source/use_cases/aws-s3-static-website/lib/lambda
source/use_cases/aws-ser...b/lambda/static-content
copy_s3_objects.py
copy_s3_objects.py
0:0 
0:0 
view
6 x 2 source/use_cases/aws-s3-static-website/lib/lambda
source/use_cases/aws-ser...b/lambda/static-content
copy_s3_objects.py
copy_s3_objects.py
0:0 
0:0 
view