aws-samples / aws-network-hub-for-terraform
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
  • 39% duplication:
    • 1,829 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 727 duplicated lines
  • 111 duplicates
system39% (727 lines)
Duplication per Extension
tf40% (727 lines)
Duplication per Component (primary)
example-spoke-vpc/modules/network54% (162 lines)
ROOT50% (161 lines)
modules/dns46% (112 lines)
modules/vpc_endpoints47% (98 lines)
modules/network_firewall_vpc18% (62 lines)
example-spoke-vpc30% (47 lines)
example-spoke-vpc/modules/dns35% (45 lines)
modules/tgw28% (24 lines)
modules/ipam23% (16 lines)

Duplication Between Components (50+ lines)

G example-spoke-vpc/modules/network example-spoke-vpc/modules/network ROOT ROOT example-spoke-vpc/modules/network--ROOT 180 modules/dns modules/dns example-spoke-vpc/modules/network--modules/dns 76 modules/vpc_endpoints modules/vpc_endpoints example-spoke-vpc/modules/network--modules/vpc_endpoints 108 modules/network_firewall_vpc modules/network_firewall_vpc example-spoke-vpc/modules/network--modules/network_firewall_vpc 74 modules/dns--modules/vpc_endpoints 133 modules/dns--modules/network_firewall_vpc 106 modules/network_firewall_vpc--modules/vpc_endpoints 109 example-spoke-vpc example-spoke-vpc example-spoke-vpc--ROOT 94 example-spoke-vpc/modules/dns example-spoke-vpc/modules/dns example-spoke-vpc/modules/dns--example-spoke-vpc/modules/network 76

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 111 duplicates...
Size#FoldersFilesLinesCode
55 x 2 example-spoke-vpc/modules/network
ROOT
flow_logs.tf
main.tf
39:100 (62%)
188:249 (24%)
view
22 x 2 example-spoke-vpc/modules/dns
example-spoke-vpc/modules/network
provider.tf
provider.tf
1:25 (100%)
1:25 (100%)
view
21 x 2 modules/network_firewall_vpc
modules/vpc_endpoints
variables.tf
variables.tf
22:47 (55%)
22:47 (55%)
view
17 x 2 modules/dns
modules/vpc_endpoints
variables.tf
variables.tf
22:42 (36%)
17:37 (44%)
view
17 x 2 example-spoke-vpc/modules/network
ROOT
flow_logs.tf
main.tf
20:37 (19%)
169:186 (7%)
view
17 x 2 example-spoke-vpc
ROOT
provider.tf
provider.tf
1:19 (60%)
1:19 (100%)
view
13 x 2 modules/dns
modules/dns
dns.tf
dns.tf
38:53 (14%)
58:73 (14%)
view
13 x 2 modules/dns
modules/network_firewall_vpc
variables.tf
variables.tf
27:42 (28%)
22:37 (34%)
view
12 x 2 example-spoke-vpc/modules/network
ROOT
provider.tf
provider.tf
1:14 (54%)
1:14 (70%)
view
12 x 2 example-spoke-vpc
ROOT
locals.tf
locals.tf
1:14 (66%)
1:14 (75%)
view
12 x 2 example-spoke-vpc/modules/dns
ROOT
provider.tf
provider.tf
1:14 (54%)
1:14 (70%)
view
12 x 2 example-spoke-vpc/modules/network
example-spoke-vpc
provider.tf
provider.tf
1:14 (54%)
1:14 (42%)
view
12 x 2 example-spoke-vpc/modules/dns
example-spoke-vpc
provider.tf
provider.tf
1:14 (54%)
1:14 (42%)
view
11 x 2 example-spoke-vpc/modules/network
modules/vpc_endpoints
vpc.tf
vpc.tf
28:39 (14%)
46:57 (14%)
view
10 x 2 example-spoke-vpc/modules/network
modules/dns
variables.tf
variables.tf
6:17 (26%)
16:27 (21%)
view
10 x 2 modules/dns
modules/vpc_endpoints
variables.tf
variables.tf
46:57 (21%)
36:47 (26%)
view
10 x 2 example-spoke-vpc/modules/network
modules/vpc_endpoints
endpoints.tf
endpoints.tf
51:60 (20%)
64:73 (16%)
view
10 x 2 example-spoke-vpc/modules/dns
example-spoke-vpc/modules/network
variables.tf
variables.tf
16:27 (33%)
26:37 (26%)
view
10 x 2 modules/network_firewall_vpc
modules/tgw
variables.tf
variables.tf
11:22 (26%)
11:22 (38%)
view
10 x 2 modules/dns
modules/network_firewall_vpc
variables.tf
variables.tf
46:57 (21%)
36:47 (26%)
view