kubernetes / cloud-provider-vsphere
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
  • 21% duplication:
    • 11,939 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,554 duplicated lines
  • 344 duplicates
system21% (2,554 lines)
Duplication per Extension
yaml79% (1,749 lines)
go8% (805 lines)
Duplication per Component (primary)
pkg/cloudprovider7% (418 lines)
pkg/common10% (312 lines)
manifests/controller-manager85% (245 lines)
releases/v1.1999% (242 lines)
releases/v1.2299% (242 lines)
releases/v1.2199% (242 lines)
releases/v1.1899% (242 lines)
releases/v1.2099% (242 lines)
releases/v1.286% (181 lines)
charts/vsphere-cpi20% (107 lines)
pkg/nsxt21% (75 lines)
ROOT13% (6 lines)
cmd/vcpctl0% (0 lines)
cmd/vsphere-cloud-controller-manager0% (0 lines)
pkg/cli0% (0 lines)
pkg/util0% (0 lines)
hack/tools0% (0 lines)
hack0% (0 lines)

Duplication Between Components (50+ lines)

G releases/v1.18 releases/v1.18 releases/v1.22 releases/v1.22 releases/v1.18--releases/v1.22 484 releases/v1.19 releases/v1.19 releases/v1.18--releases/v1.19 484 releases/v1.21 releases/v1.21 releases/v1.18--releases/v1.21 484 releases/v1.20 releases/v1.20 releases/v1.18--releases/v1.20 484 releases/v1.2 releases/v1.2 releases/v1.18--releases/v1.2 259 releases/v1.19--releases/v1.22 484 releases/v1.19--releases/v1.21 484 releases/v1.19--releases/v1.20 484 releases/v1.19--releases/v1.2 259 releases/v1.21--releases/v1.22 484 releases/v1.20--releases/v1.22 484 releases/v1.20--releases/v1.21 484 manifests/controller-manager manifests/controller-manager manifests/controller-manager--releases/v1.18 261 manifests/controller-manager--releases/v1.22 261 manifests/controller-manager--releases/v1.19 261 manifests/controller-manager--releases/v1.21 261 manifests/controller-manager--releases/v1.20 261 manifests/controller-manager--releases/v1.2 378 releases/v1.2--releases/v1.22 259 releases/v1.2--releases/v1.21 259 releases/v1.2--releases/v1.20 259 charts/vsphere-cpi charts/vsphere-cpi charts/vsphere-cpi--releases/v1.18 196 charts/vsphere-cpi--releases/v1.22 196 charts/vsphere-cpi--releases/v1.19 196 charts/vsphere-cpi--releases/v1.21 196 charts/vsphere-cpi--releases/v1.20 196 charts/vsphere-cpi--manifests/controller-manager 191 charts/vsphere-cpi--releases/v1.2 191 pkg/cloudprovider pkg/cloudprovider pkg/nsxt pkg/nsxt pkg/cloudprovider--pkg/nsxt 58

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 344 duplicates...
Size#FoldersFilesLinesCode
226 x 2 releases/v1.18
releases/v1.22
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.19
releases/v1.21
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.19
releases/v1.22
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.19
releases/v1.20
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.20
releases/v1.21
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.20
releases/v1.22
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.18
releases/v1.21
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.21
releases/v1.22
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.18
releases/v1.19
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
226 x 2 releases/v1.18
releases/v1.20
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
1:235 (93%)
1:235 (93%)
view
86 x 2 manifests/controller-manager
releases/v1.2
cloud-controller-manager-roles.yaml
vsphere-cloud-controller-manager.yaml
4:89 (94%)
81:166 (40%)
view
85 x 2 charts/vsphere-cpi/templates
releases/v1.19
role.yaml
vsphere-cloud-controller-manager.yaml
8:92 (91%)
111:195 (34%)
view
85 x 2 charts/vsphere-cpi/templates
releases/v1.22
role.yaml
vsphere-cloud-controller-manager.yaml
8:92 (91%)
111:195 (34%)
view
85 x 2 charts/vsphere-cpi/templates
releases/v1.21
role.yaml
vsphere-cloud-controller-manager.yaml
8:92 (91%)
111:195 (34%)
view
85 x 2 charts/vsphere-cpi/templates
releases/v1.18
role.yaml
vsphere-cloud-controller-manager.yaml
8:92 (91%)
111:195 (34%)
view
85 x 2 charts/vsphere-cpi/templates
releases/v1.20
role.yaml
vsphere-cloud-controller-manager.yaml
8:92 (91%)
111:195 (34%)
view
63 x 2 charts/vsphere-cpi/templates
releases/v1.2
role.yaml
vsphere-cloud-controller-manager.yaml
25:87 (67%)
99:161 (30%)
view
63 x 2 releases/v1.2
releases/v1.20
vsphere-cloud-controller-manager.yaml
vsphere-cloud-controller-manager.yaml
99:161 (30%)
128:190 (25%)
view
63 x 2 manifests/controller-manager
releases/v1.19
cloud-controller-manager-roles.yaml
vsphere-cloud-controller-manager.yaml
22:84 (69%)
128:190 (25%)
view
63 x 2 manifests/controller-manager
releases/v1.22
cloud-controller-manager-roles.yaml
vsphere-cloud-controller-manager.yaml
22:84 (69%)
128:190 (25%)
view
Duplicated Units
The list of top 12 duplicated units.
See data for all 12 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 pkg/cloudprovider/vsphere/loadbalancer/config
pkg/cloudprovider/vsphere/loadbalancer/config
config_ini_legacy.go
config_yaml.go
74:114 
72:112 
view
32 x 2 pkg/nsxt/config
pkg/nsxt/config
config_ini_legacy.go
config_yaml.go
51:83 
52:84 
view
26 x 2 pkg/cloudprovider/vsphere/loadbalancer/config
pkg/cloudprovider/vsphere/loadbalancer/config
config_ini_legacy.go
config_yaml.go
36:68 
35:66 
view
13 x 2 pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
routeset.go
ippool.go
167:180 
167:180 
view
12 x 2 pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
routeset.go
ippool.go
98:110 
98:110 
view
8 x 2 pkg/cloudprovider/vspher...ollers/routablepod/node
pkg/cloudprovider/vspher...lers/routablepod/ippool
node_controller.go
ippool_controller.go
112:120 
111:119 
view
8 x 2 pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
routeset.go
ippool.go
156:164 
156:164 
view
7 x 2 pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
pkg/cloudprovider/vspher.../nsxnetworking/v1alpha1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:36 
169:176 
view
6 x 2 pkg/nsxt/config
pkg/cloudprovider/vsphere/route/config
config_ini_legacy.go
config_ini_legacy.go
110:117 
71:78 
view
6 x 2 pkg/nsxt/config
pkg/cloudprovider/vsphere/route/config
config_yaml.go
config_yaml.go
111:118 
72:79 
view
6 x 2 pkg/common/config
pkg/cloudprovider/vsphere/loadbalancer/config
config_ini_legacy.go
config_ini_legacy.go
260:267 
174:181 
view
6 x 2 pkg/common/config
pkg/cloudprovider/vsphere/loadbalancer/config
config_yaml.go
config_yaml.go
224:231 
164:171 
view