aws-samples / amazon-eventbridge-resource-policy-samples
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
  • 46% duplication:
    • 2,394 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,106 duplicated lines
  • 200 duplicates
system46% (1,106 lines)
Duplication per Extension
yaml49% (824 lines)
py37% (234 lines)
toml56% (48 lines)
Duplication per Component (primary)
patterns/multi-bus-multi-account-pattern/purple-service-account56% (159 lines)
patterns/single-bus-multi-account-pattern/purple-service-account65% (135 lines)
patterns/multi-bus-multi-account-pattern/orange-service-account58% (135 lines)
patterns/multi-bus-multi-account-pattern/blue-service-account50% (118 lines)
patterns/single-bus-multi-account-pattern/orange-service-account64% (105 lines)
patterns/single-bus-multi-account-pattern/blue-service-account59% (97 lines)
patterns/cross-region-cross-account-pattern/security39% (93 lines)
patterns/cross-region-cross-account-pattern/applications76% (90 lines)
blog/account-c-invoice-processing/invoice_processing19% (81 lines)
patterns/single-bus-multi-account-pattern/devops-account40% (47 lines)
blog/account-a-web-store/order_function48% (15 lines)
blog/account-c-invoice-processing12% (13 lines)
blog/account-b-central-bus14% (9 lines)
blog/account-a-web-store25% (9 lines)
blog0% (0 lines)

Duplication Between Components (50+ lines)

G patterns/multi-bus-multi-account-pattern/purple-service-account patterns/multi-bus-multi-account-pattern/purple-service-account patterns/single-bus-multi-account-pattern/purple-service-account patterns/single-bus-multi-account-pattern/purple-service-account patterns/multi-bus-multi-account-pattern/purple-service-account--patterns/single-bus-multi-account-pattern/purple-service-account 268 patterns/single-bus-multi-account-pattern/orange-service-account patterns/single-bus-multi-account-pattern/orange-service-account patterns/multi-bus-multi-account-pattern/purple-service-account--patterns/single-bus-multi-account-pattern/orange-service-account 90 patterns/single-bus-multi-account-pattern/blue-service-account patterns/single-bus-multi-account-pattern/blue-service-account patterns/multi-bus-multi-account-pattern/purple-service-account--patterns/single-bus-multi-account-pattern/blue-service-account 90 patterns/multi-bus-multi-account-pattern/orange-service-account patterns/multi-bus-multi-account-pattern/orange-service-account patterns/multi-bus-multi-account-pattern/orange-service-account--patterns/multi-bus-multi-account-pattern/purple-service-account 150 patterns/multi-bus-multi-account-pattern/orange-service-account--patterns/single-bus-multi-account-pattern/purple-service-account 102 patterns/multi-bus-multi-account-pattern/orange-service-account--patterns/single-bus-multi-account-pattern/orange-service-account 206 patterns/multi-bus-multi-account-pattern/orange-service-account--patterns/single-bus-multi-account-pattern/blue-service-account 104 patterns/single-bus-multi-account-pattern/orange-service-account--patterns/single-bus-multi-account-pattern/purple-service-account 92 patterns/multi-bus-multi-account-pattern/blue-service-account patterns/multi-bus-multi-account-pattern/blue-service-account patterns/multi-bus-multi-account-pattern/blue-service-account--patterns/multi-bus-multi-account-pattern/purple-service-account 134 patterns/multi-bus-multi-account-pattern/blue-service-account--patterns/single-bus-multi-account-pattern/purple-service-account 96 patterns/multi-bus-multi-account-pattern/blue-service-account--patterns/multi-bus-multi-account-pattern/orange-service-account 148 patterns/multi-bus-multi-account-pattern/blue-service-account--patterns/single-bus-multi-account-pattern/orange-service-account 98 patterns/multi-bus-multi-account-pattern/blue-service-account--patterns/single-bus-multi-account-pattern/blue-service-account 184 patterns/single-bus-multi-account-pattern/blue-service-account--patterns/single-bus-multi-account-pattern/purple-service-account 92 patterns/single-bus-multi-account-pattern/blue-service-account--patterns/single-bus-multi-account-pattern/orange-service-account 108 patterns/cross-region-cross-account-pattern/applications patterns/cross-region-cross-account-pattern/applications patterns/single-bus-multi-account-pattern/devops-account patterns/single-bus-multi-account-pattern/devops-account patterns/cross-region-cross-account-pattern/applications--patterns/single-bus-multi-account-pattern/devops-account 54

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 200 duplicates...
Size#FoldersFilesLinesCode
38 x 2 patterns/cross-region-cr.../applications/account_2
patterns/cross-region-cr.../applications/account_3
template.yaml
template.yaml
7:49 (88%)
7:50 (88%)
view
28 x 2 patterns/multi-bus-multi...ount/purple-service-app
patterns/single-bus-mult...ount/purple-service-app
template.yaml
template.yaml
95:123 (21%)
50:78 (17%)
view
24 x 2 patterns/cross-region-cr...tern/security/account_1
patterns/cross-region-cr...tern/security/account_1
eu-central-1-rules.yaml
us-east-1-rules.yaml
11:38 (45%)
15:42 (25%)
view
23 x 2 patterns/multi-bus-multi...service-app/purple_p_e2
patterns/single-bus-mult...service-app/purple_p_e2
app.py
app.py
23:50 (95%)
23:50 (95%)
view
23 x 2 patterns/multi-bus-multi...e-service-app/blue_p_e1
patterns/single-bus-mult...e-service-app/blue_p_e1
app.py
app.py
23:50 (95%)
23:50 (95%)
view
23 x 2 patterns/multi-bus-multi...service-app/orange_p_e3
patterns/single-bus-mult...service-app/orange_p_e3
app.py
app.py
23:50 (95%)
23:50 (95%)
view
19 x 2 blog/account-c-invoice-p...ebstore/newordercreated
blog/account-c-invoice-p...ebstore/newordercreated
AWSEvent.py
NewOrderCreatedItem.py
178:197 (14%)
97:116 (23%)
view
19 x 2 blog/account-c-invoice-p...ebstore/newordercreated
blog/account-c-invoice-p...ebstore/newordercreated
AWSEvent.py
NewOrderCreated.py
178:197 (14%)
98:117 (23%)
view
19 x 2 patterns/multi-bus-multi...ount/orange-service-app
patterns/single-bus-mult...ount/orange-service-app
subscriptions.yaml
template.yaml
50:68 (25%)
85:103 (15%)
view
19 x 2 patterns/multi-bus-multi...ount/purple-service-app
patterns/single-bus-mult...ount/purple-service-app
subscriptions.yaml
template.yaml
73:91 (18%)
124:142 (11%)
view
19 x 2 blog/account-c-invoice-p...ebstore/newordercreated
blog/account-c-invoice-p...ebstore/newordercreated
NewOrderCreated.py
NewOrderCreatedItem.py
98:117 (23%)
97:116 (23%)
view
19 x 2 patterns/multi-bus-multi...ccount/blue-service-app
patterns/single-bus-mult...ccount/blue-service-app
subscriptions.yaml
template.yaml
48:66 (24%)
88:106 (15%)
view
15 x 2 patterns/multi-bus-multi...ount/purple-service-app
patterns/single-bus-mult...ount/purple-service-app
template.yaml
template.yaml
134:148 (11%)
171:185 (9%)
view
14 x 2 patterns/cross-region-cr.../applications/account_1
patterns/cross-region-cr.../applications/account_3
template.yaml
template.yaml
20:33 (45%)
28:41 (32%)
view
14 x 2 patterns/cross-region-cr.../applications/account_1
patterns/cross-region-cr.../applications/account_2
template.yaml
template.yaml
20:33 (45%)
27:40 (32%)
view
14 x 2 patterns/multi-bus-multi...ccount/blue-service-app
patterns/single-bus-mult...ccount/blue-service-app
template.yaml
template.yaml
93:106 (12%)
49:62 (11%)
view
14 x 2 patterns/single-bus-mult...-pattern/devops-account
patterns/single-bus-mult...-pattern/devops-account
template.yaml
template.yaml
56:69 (12%)
104:117 (12%)
view
14 x 2 patterns/multi-bus-multi...ount/orange-service-app
patterns/single-bus-mult...ount/orange-service-app
template.yaml
template.yaml
95:108 (12%)
47:60 (11%)
view
13 x 2 patterns/multi-bus-multi...ount/orange-service-app
patterns/multi-bus-multi...ount/purple-service-app
subscriptions.yaml
subscriptions.yaml
50:62 (17%)
73:85 (12%)
view
13 x 2 patterns/multi-bus-multi...ount/orange-service-app
patterns/single-bus-mult...ccount/blue-service-app
subscriptions.yaml
template.yaml
50:62 (17%)
88:100 (10%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
23 x 2 patterns/single-bus-mult...service-app/orange_p_e3
patterns/multi-bus-multi...service-app/orange_p_e3
app.py
app.py
0:0 
0:0 
view
23 x 2 patterns/single-bus-mult...service-app/purple_p_e2
patterns/multi-bus-multi...service-app/purple_p_e2
app.py
app.py
0:0 
0:0 
view
23 x 2 patterns/single-bus-mult...e-service-app/blue_p_e1
patterns/multi-bus-multi...e-service-app/blue_p_e1
app.py
app.py
0:0 
0:0 
view