aws-samples / aws-service-catalog-reference-architectures
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
  • 27% duplication:
    • 15,851 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,341 duplicated lines
  • 1,685 duplicates
system27% (4,341 lines)
Duplication per Extension
yml30% (2,720 lines)
yaml28% (1,472 lines)
py10% (149 lines)
Duplication per Component (primary)
labs28% (1,469 lines)
blog_content30% (1,417 lines)
iam58% (475 lines)
redshift33% (256 lines)
sagemaker37% (236 lines)
bulkprovision14% (127 lines)
ecs21% (97 lines)
conformance_packs8% (73 lines)
serverless11% (61 lines)
elasticbeanstalk73% (46 lines)
dynamodb11% (33 lines)
security4% (31 lines)
backup12% (20 lines)
codepipeline0% (0 lines)
glue0% (0 lines)

Duplication Between Components (50+ lines)

G iam iam labs labs iam--labs 411 sagemaker sagemaker iam--sagemaker 74 labs--sagemaker 161 blog_content blog_content blog_content--iam 201 blog_content--labs 395 blog_content--sagemaker 294 elasticbeanstalk elasticbeanstalk elasticbeanstalk--labs 78 ecs ecs ecs--labs 67 ecs--elasticbeanstalk 57

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 1,685 duplicates...
Size#FoldersFilesLinesCode
51 x 2 labs/preventive-control/products/dmsendpoint
labs/preventive-control/products/dmsinstance
sc-dmsendpoint-products-role.yml
sc-dmsinstance-products-role.yml
16:68 (100%)
16:68 (100%)
view
42 x 2 blog_content/sagemaker-s...gemaker-selfservice-url
blog_content/sagemaker-s...gemaker-selfservice-url
portfolio.yaml
start.yaml
82:126 (17%)
67:111 (20%)
view
40 x 2 iam
iam
sc-ec2vpc-launchrole.yml
sc-redshift-launchrole.yml
30:69 (55%)
29:68 (56%)
view
35 x 2 labs/preventive-control/products/firehose
labs/preventive-control/products/kinesis
sc-firehose-products-role.yml
sc-kinesis-products-role.yml
16:51 (76%)
16:51 (72%)
view
35 x 2 labs/preventive-control/products/fsx
labs/preventive-control/products/sagemaker
sc-fsx-products-role.yml
sc-sagemaker-products-role.yml
16:51 (76%)
16:51 (58%)
view
34 x 2 blog_content/securing-third-party-data-and-ml-apps
sagemaker
application.yaml
aws-marketplace-model-deployment.yml
3:36 (26%)
35:68 (31%)
view
33 x 2 iam
iam
sc-ecs-launchrole.yml
sc-rds-launchrole.yml
17:49 (45%)
10:42 (52%)
view
32 x 2 blog_content/sagemaker-s...gemaker-selfservice-url
blog_content/sagemaker-s...gemaker-selfservice-url
portfolio.yaml
start.yaml
129:164 (13%)
124:159 (15%)
view
31 x 2 iam
iam
sc-emr-launchrole.yml
sc-workspaces-launchrole.yml
25:55 (50%)
25:55 (50%)
view
30 x 2 sagemaker
sagemaker
aws-marketplace-model-deployment.yml
sagemaker_vend_endpoint.yml
79:108 (27%)
44:73 (37%)
view
29 x 2 blog_content/securing-third-party-data-and-ml-apps
blog_content/securing-third-party-data-and-ml-apps
admin-setup-app.yaml
network.yaml
12:40 (14%)
31:59 (7%)
view
28 x 2 labs/preventive-control/products/asc
labs/preventive-control/products/dmsinstance
sc-asc-products-role.yml
sc-dmsinstance-products-role.yml
16:44 (68%)
16:44 (54%)
view
28 x 2 labs/preventive-control/products/dynamodb
labs/preventive-control/products/s3
sc-dynamodb-products-role.yml
sc-s3-products-role.yml
16:44 (62%)
16:44 (43%)
view
28 x 2 labs/preventive-control/products/alb
labs/preventive-control/products/fsx
sc-alb-products-role.yml
sc-fsx-products-role.yml
16:44 (39%)
16:44 (60%)
view
28 x 2 labs/preventive-control/products/dmsinstance
labs/preventive-control/products/sns
sc-dmsinstance-products-role.yml
sc-sns-products-role.yml
16:44 (54%)
16:44 (63%)
view
28 x 2 labs/preventive-control/products/dmsinstance
labs/preventive-control/products/elasticache
sc-dmsinstance-products-role.yml
sc-elasticache-products-role.yml
16:44 (54%)
16:44 (50%)
view
28 x 2 labs/preventive-control/products/kinesis
labs/preventive-control/products/sqs
sc-kinesis-products-role.yml
sc-sqs-products-role.yml
16:44 (58%)
16:44 (63%)
view
28 x 2 labs/preventive-control/products/dynamodb
labs/preventive-control/products/elasticache
sc-dynamodb-products-role.yml
sc-elasticache-products-role.yml
16:44 (62%)
16:44 (50%)
view
28 x 2 labs/preventive-control/products/dynamodb
labs/preventive-control/products/ebs
sc-dynamodb-products-role.yml
sc-ebs-products-role.yml
16:44 (62%)
16:44 (62%)
view
28 x 2 labs/preventive-control/products/firehose
labs/preventive-control/products/fsx
sc-firehose-products-role.yml
sc-fsx-products-role.yml
16:44 (60%)
16:44 (60%)
view