awslabs / aws-well-architected-labs
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
  • 53% duplication:
    • 41,060 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 22,137 duplicated lines
  • 2,945 duplicates
system53% (22,137 lines)
Duplication per Extension
yaml64% (15,643 lines)
py58% (3,710 lines)
css31% (1,208 lines)
yml30% (1,163 lines)
html21% (252 lines)
js16% (81 lines)
ps114% (48 lines)
ts5% (18 lines)
java8% (14 lines)
Duplication per Component (primary)
static/Reliability73% (8,426 lines)
static/Security61% (5,674 lines)
static/Cost58% (3,071 lines)
static/watool54% (1,729 lines)
themes/learn28% (1,226 lines)
static/Common30% (775 lines)
static/Operations33% (743 lines)
static/Performance24% (182 lines)
static/css23% (119 lines)
layouts/partials65% (97 lines)
static/wapartners15% (59 lines)
layouts/shortcodes5% (18 lines)
static/Sustainability5% (18 lines)
deployment0% (0 lines)
ROOT0% (0 lines)
layouts/_default0% (0 lines)

Duplication Between Components (50+ lines)

G static/Reliability static/Reliability static/Security static/Security static/Reliability--static/Security 1427 static/watool static/watool static/Reliability--static/watool 165 static/wapartners static/wapartners static/Reliability--static/wapartners 160 static/Security--static/wapartners 65 static/Common static/Common static/Common--static/Reliability 392 static/Common--static/Security 169 static/Cost static/Cost static/Common--static/Cost 58 static/Operations static/Operations static/Operations--static/Reliability 178 static/Operations--static/Security 353 static/css static/css themes/learn themes/learn static/css--themes/learn 257 static/Cost--static/Reliability 236 static/Cost--static/Security 102 static/Cost--static/watool 165 static/Cost--static/wapartners 50 layouts/partials layouts/partials layouts/partials--themes/learn 194 static/Performance static/Performance static/Performance--static/Reliability 120 static/Performance--static/Security 51

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 2,945 duplicates...
Size#FoldersFilesLinesCode
1014 x 2 static/Security/200_Auto...plication_Firewall/Code
static/Security/200_Clou...ith_WAF_Protection/Code
waf-global.yaml
waf-global.yaml
1:1022 (100%)
1:1022 (100%)
view
442 x 2 static/Security/200_Auto...Detective_Controls/Code
static/Security/200_Auto...Detective_Controls/Code
cloudtrail-config-guardduty-securityh...
cloudtrail-config-guardduty.yaml
142:600 (75%)
131:589 (77%)
view
356 x 2 static/Security/200_Basi...ith_WAF_Protection/Code
static/Security/200_Clou...ith_WAF_Protection/Code
waf-regional.yaml
waf-global.yaml
79:436 (35%)
79:436 (35%)
view
356 x 2 static/Security/200_Auto...plication_Firewall/Code
static/Security/200_Basi...ith_WAF_Protection/Code
waf-global.yaml
waf-regional.yaml
79:436 (35%)
79:436 (35%)
view
256 x 2 static/Reliability/Common/Code/CloudFormation
static/Reliability/Common/Code/CloudFormation
staticwebapp-active-passive.yaml
staticwebapp.yaml
271:565 (50%)
256:550 (52%)
view
220 x 2 static/Reliability/200_B...back_Analytics/Code/cfn
static/Reliability/200_B...back_Analytics/Code/cfn
dr-infra.yaml
workload.yaml
560:796 (23%)
675:911 (13%)
view
198 x 2 static/Reliability/200_B...back_Analytics/Code/cfn
static/Reliability/200_B...back_Analytics/Code/cfn
dr-infra.yaml
workload.yaml
164:369 (21%)
238:443 (11%)
view
175 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
PilotLightDR.yaml
WarmStandbyDR.yaml
325:515 (33%)
351:540 (31%)
view
166 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
274:485 (37%)
399:609 (31%)
view
154 x 2 static/Reliability/100_D...udFormation/Code/Python
static/Reliability/300_H...ependencies/Code/Python
server_healthcheck.py
server_healthcheck.py
24:288 (100%)
24:288 (100%)
view
142 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
BackupAndRestore.yaml
HotStandby.yaml
19:160 (30%)
33:174 (12%)
view
140 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
PilotLightDR.yaml
WarmStandbyDR.yaml
33:172 (26%)
32:171 (24%)
view
135 x 2 static/Reliability/200_D...ion/Code/CloudFormation
static/Reliability/200_D...ion/Code/CloudFormation
simple_stack.yaml
simple_stack_plus_s3.yaml
114:285 (63%)
126:297 (61%)
view
135 x 2 static/Reliability/200_D...ion/Code/CloudFormation
static/Reliability/200_D...ion/Code/CloudFormation
simple_stack_plus_s3.yaml
simple_stack_plus_s3_ec2.yaml
126:297 (61%)
139:310 (58%)
view
135 x 2 static/Reliability/200_D...ion/Code/CloudFormation
static/Reliability/200_D...ion/Code/CloudFormation
simple_stack.yaml
simple_stack_plus_s3_ec2.yaml
114:285 (63%)
139:310 (58%)
view
128 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
HotStandby.yaml
PilotLightDR.yaml
33:160 (11%)
45:172 (24%)
view
128 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
HotStandby.yaml
WarmStandbyDR.yaml
33:160 (11%)
44:171 (22%)
view
128 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
BackupAndRestore.yaml
PilotLightDR.yaml
19:146 (27%)
45:172 (24%)
view
128 x 2 static/Reliability/Disaster_Recovery/Code
static/Reliability/Disaster_Recovery/Code
BackupAndRestore.yaml
WarmStandbyDR.yaml
19:146 (27%)
44:171 (22%)
view
117 x 2 static/Reliability/Common/Code/CloudFormation
static/Reliability/Common/Code/CloudFormation
staticwebapp-active-passive.yaml
staticwebapp.yaml
131:267 (22%)
116:252 (23%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 40 unit duplicates...
Size#FoldersFilesLinesCode
93 x 2 static/Reliability/300_H...ependencies/Code/Python
static/Reliability/100_D...udFormation/Code/Python
server_healthcheck.py
server_healthcheck.py
0:0 
0:0 
view
40 x 4 static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/100_D...udFormation/Code/Python
server_basic.py
server_errorhandling.py
server_healthcheck.py
server_healthcheck.py
0:0 
0:0 
0:0 
0:0 
view
31 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
24 x 3 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
static/watool/300_Using_...stom_Lambda/Code/Python
LabExample.py
duplicateWAFR.py
UpdateWAQuestionLambda.py
0:0 
0:0 
0:0 
view
25 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
25 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
24 x 4 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
static/watool/utilities/Code
static/watool/300_Using_...stom_Lambda/Code/Python
LabExample.py
duplicateWAFR.py
exportAnswersToXLSX.py
UpdateWAQuestionLambda.py
0:0 
0:0 
0:0 
0:0 
view
23 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
20 x 3 static/Cost/300_Optimiza...llection/Code/source/ta
static/Cost/300_Optimiza...lection/Code/source/fof
static/Cost/300_Optimiza...lection/Code/source/fof
ta.py
ebs.py
snapshot.py
0:0 
0:0 
0:0 
view
21 x 3 static/Cost/300_Optimiza...llection/Code/source/ta
static/Cost/300_Optimiza...lection/Code/source/fof
static/Cost/300_Optimiza...lection/Code/source/ecs
main.py
template.py
ecs.py
0:0 
0:0 
0:0 
view
20 x 3 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
static/watool/300_Using_...stom_Lambda/Code/Python
LabExample.py
duplicateWAFR.py
UpdateWAQuestionLambda.py
0:0 
0:0 
0:0 
view
21 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
28 x 4 static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/100_D...udFormation/Code/Python
server_basic.py
server_errorhandling.py
server_healthcheck.py
server_healthcheck.py
0:0 
0:0 
0:0 
0:0 
view
17 x 2 static/Cost/300_Optimiza...lection/Code/source/fof
static/Cost/300_Organiza...ata_CUR_Connection/Code
index.py
org_data_ou_lnk_tags.py
0:0 
0:0 
view
17 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
15 x 4 static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/300_H...ependencies/Code/Python
static/Reliability/100_D...udFormation/Code/Python
server_basic.py
server_errorhandling.py
server_healthcheck.py
server_healthcheck.py
0:0 
0:0 
0:0 
0:0 
view
16 x 2 static/watool/200_Using_..._Manage_WA_Reviews/Code
static/watool/utilities/Code
LabExample.py
duplicateWAFR.py
0:0 
0:0 
view
17 x 3 static/watool/utilities/Code
static/watool/utilities/Code
static/watool/300_Using_...stom_Lambda/Code/Python
duplicateWAFR.py
exportAnswersToXLSX.py
CreateWAWorkloadLambda.py
0:0 
0:0 
0:0 
view
17 x 2 static/watool/utilities/Code
static/watool/utilities/Code
duplicateWAFR.py
exportAnswersToXLSX.py
0:0 
0:0 
view
17 x 3 static/watool/300_Using_...stom_Lambda/Code/Python
static/watool/utilities/Code
static/watool/utilities/Code
CreateWAWorkloadLambda.py
duplicateWAFR.py
exportAnswersToXLSX.py
0:0 
0:0 
0:0 
view