aws-samples / aws-service-catalog-preventive-control
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
  • 37% duplication:
    • 6,139 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,317 duplicated lines
  • 1,121 duplicates
system37% (2,317 lines)
Duplication per Extension
yml41% (1,791 lines)
py29% (526 lines)
Duplication per Component (primary)
s3-upload-files/products46% (1,400 lines)
ROOT100% (206 lines)
resource-compliance-lambda100% (206 lines)
init41% (186 lines)
control-tower-account-factory/configuration-examples81% (117 lines)
control-tower-account-factory17% (67 lines)
control-tower-account-factory/src7% (56 lines)
product-selector-lambda37% (33 lines)
resource-selector-lambda4% (25 lines)
templates11% (21 lines)
deployment-lambda0% (0 lines)
s3-upload-files/deployment-cfn0% (0 lines)

Duplication Between Components (50+ lines)

G init init s3-upload-files/products s3-upload-files/products init--s3-upload-files/products 548 ROOT ROOT resource-compliance-lambda resource-compliance-lambda ROOT--resource-compliance-lambda 412 product-selector-lambda product-selector-lambda ROOT--product-selector-lambda 66 resource-selector-lambda resource-selector-lambda ROOT--resource-selector-lambda 50 resource-compliance-lambda--resource-selector-lambda 50 control-tower-account-factory control-tower-account-factory control-tower-account-factory--init 125 control-tower-account-factory--s3-upload-files/products 346 product-selector-lambda--resource-compliance-lambda 66 product-selector-lambda--resource-selector-lambda 50

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,121 duplicates...
Size#FoldersFilesLinesCode
206 x 2 ROOT
resource-compliance-lambda
handler.py
handler.py
25:287 (100%)
25:287 (100%)
view
83 x 2 init
s3-upload-files/products/governance-lambda-roles
service-catalog-lambda-functions-cfn.yml
sc-governance-lambda-roles.yml
212:296 (27%)
54:138 (62%)
view
51 x 2 s3-upload-files/products/dmsendpoint
s3-upload-files/products/dmsinstance
sc-dmsendpoint-products-role.yml
sc-dmsinstance-products-role.yml
16:68 (100%)
16:68 (100%)
view
35 x 2 s3-upload-files/products/governance-lambda-roles
s3-upload-files/products/s3
sc-governance-lambda-roles-products-r...
sc-s3-products-role.yml
16:51 (62%)
16:51 (54%)
view
35 x 2 s3-upload-files/products/mq
s3-upload-files/products/s3
sc-mq-products-role.yml
sc-s3-products-role.yml
16:51 (53%)
16:51 (54%)
view
35 x 2 s3-upload-files/products/kms
s3-upload-files/products/mq
sc-kms-products-role.yml
sc-mq-products-role.yml
16:51 (66%)
16:51 (53%)
view
35 x 2 s3-upload-files/products/governance-lambda-roles
s3-upload-files/products/kms
sc-governance-lambda-roles-products-r...
sc-kms-products-role.yml
16:51 (62%)
16:51 (66%)
view
35 x 2 s3-upload-files/products/governance-lambda-roles
s3-upload-files/products/mq
sc-governance-lambda-roles-products-r...
sc-mq-products-role.yml
16:51 (62%)
16:51 (53%)
view
35 x 2 s3-upload-files/products/governance-lambdas
s3-upload-files/products/kms
sc-governance-lambdas-products-role.yml
sc-kms-products-role.yml
16:51 (45%)
16:51 (66%)
view
35 x 2 s3-upload-files/products/governance-lambda-roles
s3-upload-files/products/governance-lambdas
sc-governance-lambda-roles-products-r...
sc-governance-lambdas-products-role.yml
16:51 (62%)
16:51 (45%)
view
35 x 2 s3-upload-files/products/kms
s3-upload-files/products/s3
sc-kms-products-role.yml
sc-s3-products-role.yml
16:51 (66%)
16:51 (54%)
view
35 x 2 s3-upload-files/products/governance-lambdas
s3-upload-files/products/s3
sc-governance-lambdas-products-role.yml
sc-s3-products-role.yml
16:51 (45%)
16:51 (54%)
view
35 x 2 s3-upload-files/products/governance-lambdas
s3-upload-files/products/mq
sc-governance-lambdas-products-role.yml
sc-mq-products-role.yml
16:51 (45%)
16:51 (53%)
view
35 x 2 s3-upload-files/products/firehose
s3-upload-files/products/kinesis
sc-firehose-products-role.yml
sc-kinesis-products-role.yml
16:51 (76%)
16:51 (72%)
view
35 x 2 s3-upload-files/products/fsx
s3-upload-files/products/sagemaker
sc-fsx-products-role.yml
sc-sagemaker-products-role.yml
16:51 (76%)
16:51 (58%)
view
28 x 2 s3-upload-files/products/dmsendpoint
s3-upload-files/products/s3
sc-dmsendpoint-products-role.yml
sc-s3-products-role.yml
16:44 (54%)
16:44 (43%)
view
28 x 2 s3-upload-files/products/elasticache
s3-upload-files/products/s3
sc-elasticache-products-role.yml
sc-s3-products-role.yml
16:44 (50%)
16:44 (43%)
view
28 x 2 s3-upload-files/products/dynamodb
s3-upload-files/products/vpc
sc-dynamodb-products-role.yml
sc-vpc-products-role.yml
16:44 (62%)
16:44 (62%)
view
28 x 2 s3-upload-files/products/asc
s3-upload-files/products/sagemaker
sc-asc-products-role.yml
sc-sagemaker-products-role.yml
16:44 (66%)
16:44 (46%)
view
28 x 2 s3-upload-files/products/dmsinstance
s3-upload-files/products/s3
sc-dmsinstance-products-role.yml
sc-s3-products-role.yml
16:44 (54%)
16:44 (43%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
199 x 2 ROOT
resource-compliance-lambda
handler.py
handler.py
0:0 
0:0 
view
25 x 2 ROOT
resource-compliance-lambda
handler.py
handler.py
0:0 
0:0 
view