kubernetes / legacy-cloud-providers
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
  • 9% duplication:
    • 28,316 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,772 duplicated lines
  • 1,834 duplicates
system9% (2,772 lines)
Duplication per Extension
go9% (2,772 lines)
Duplication per Component (primary)
azure/clients33% (1,767 lines)
azure6% (436 lines)
openstack6% (162 lines)
aws3% (161 lines)
gce2% (104 lines)
vsphere3% (94 lines)
vsphere/vclib1% (24 lines)
azure/metrics10% (12 lines)
azure/auth8% (12 lines)
gce/gcpcredential0% (0 lines)
ROOT0% (0 lines)
azure/retry0% (0 lines)
azure/mockvmsets0% (0 lines)
vsphere/testing0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 1,834 duplicates...
Size#FoldersFilesLinesCode
16 x 2 azure/clients/diskclient
azure/clients/storageaccountclient
azure_diskclient.go
azure_storageaccountclient.go
42:67 (6%)
42:67 (6%)
view
15 x 2 azure
azure
azure_controller_standard.go
azure_controller_vmss.go
49:68 (12%)
51:70 (12%)
view
13 x 2 azure/clients/loadbalancerclient
azure/clients/vmssvmclient
azure_loadbalancerclient.go
azure_vmssvmclient.go
41:62 (5%)
42:63 (5%)
view
13 x 2 azure/clients/publicipclient
azure/clients/vmsizeclient
azure_publicipclient.go
azure_vmsizeclient.go
41:62 (4%)
40:61 (21%)
view
13 x 2 azure/clients/loadbalancerclient
azure/clients/snapshotclient
azure_loadbalancerclient.go
azure_snapshotclient.go
41:62 (5%)
41:62 (5%)
view
13 x 2 openstack
openstack
openstack.go
openstack.go
428:444 (2%)
460:475 (2%)
view
13 x 2 azure/clients/containerserviceclient
azure/clients/interfaceclient
azure_containerserviceclient.go
azure_interfaceclient.go
41:62 (5%)
40:61 (7%)
view
13 x 2 azure/clients/subnetclient
azure/clients/vmclient
azure_subnetclient.go
azure_vmclient.go
40:61 (5%)
41:62 (4%)
view
13 x 2 azure/clients/vmsizeclient
azure/clients/vmssvmclient
azure_vmsizeclient.go
azure_vmssvmclient.go
40:61 (21%)
42:63 (5%)
view
13 x 2 azure/clients/interfaceclient
azure/clients/vmclient
azure_interfaceclient.go
azure_vmclient.go
40:61 (7%)
41:62 (4%)
view
13 x 2 azure/clients/containerserviceclient
azure/clients/publicipclient
azure_containerserviceclient.go
azure_publicipclient.go
41:62 (5%)
41:62 (4%)
view
13 x 2 azure/clients/deploymentclient
azure/clients/vmclient
azure_deploymentclient.go
azure_vmclient.go
41:62 (5%)
41:62 (4%)
view
13 x 2 azure/clients/publicipclient
azure/clients/routeclient
azure_publicipclient.go
azure_routeclient.go
41:62 (4%)
39:60 (13%)
view
13 x 2 azure/clients/routeclient
azure/clients/snapshotclient
azure_routeclient.go
azure_snapshotclient.go
39:60 (13%)
41:62 (5%)
view
13 x 2 azure/clients/routeclient
azure/clients/vmclient
azure_routeclient.go
azure_vmclient.go
39:60 (13%)
41:62 (4%)
view
13 x 2 azure/clients/deploymentclient
azure/clients/vmssclient
azure_deploymentclient.go
azure_vmssclient.go
41:62 (5%)
41:62 (3%)
view
13 x 2 azure/clients/interfaceclient
azure/clients/loadbalancerclient
azure_interfaceclient.go
azure_loadbalancerclient.go
40:61 (7%)
41:62 (5%)
view
13 x 2 azure/clients/routeclient
azure/clients/vmssvmclient
azure_routeclient.go
azure_vmssvmclient.go
39:60 (13%)
42:63 (5%)
view
13 x 2 azure/clients/interfaceclient
azure/clients/securitygroupclient
azure_interfaceclient.go
azure_securitygroupclient.go
40:61 (7%)
41:62 (5%)
view
13 x 2 azure/clients/loadbalancerclient
azure/clients/subnetclient
azure_loadbalancerclient.go
azure_subnetclient.go
41:62 (5%)
40:61 (5%)
view
Duplicated Units
The list of top 17 duplicated units.
See data for all 17 unit duplicates...
Size#FoldersFilesLinesCode
35 x 2 azure/clients/vmssclient
azure/clients/vmssclient
azure_vmssclient.go
azure_vmssclient.go
477:522 
525:570 
view
22 x 2 azure/clients/storageaccountclient
azure/clients/diskclient
azure_storageaccountclient.go
azure_diskclient.go
59:84 
59:84 
view
18 x 14 azure/clients/routeclient
azure/clients/containerserviceclient
azure/clients/vmsizeclient
azure/clients/routetableclient
azure/clients/vmssvmclient
azure/clients/vmclient
azure/clients/subnetclient
azure/clients/publicipclient
azure/clients/snapshotclient
azure/clients/loadbalancerclient
...
azure_routeclient.go
azure_containerserviceclient.go
azure_vmsizeclient.go
azure_routetableclient.go
azure_vmssvmclient.go
azure_vmclient.go
azure_subnetclient.go
azure_publicipclient.go
azure_snapshotclient.go
azure_loadbalancerclient.go
...
56:77 
58:79 
57:78 
56:77 
59:80 
58:79 
57:78 
58:79 
58:79 
58:79 
...
view
13 x 2 gce
gce
gce_loadbalancer_external.go
gce_loadbalancer_internal.go
680:693 
770:783 
view
10 x 2 azure/clients/armclient/mockarmclient
azure/clients/armclient/mockarmclient
interface.go
interface.go
76:86 
96:106 
view
9 x 2 openstack
openstack
openstack_volumes.go
openstack_volumes.go
284:293 
295:304 
view
9 x 2 azure/clients/vmclient
azure/clients/vmclient
azure_vmclient.go
azure_vmclient.go
273:282 
434:443 
view
8 x 2 aws
aws
aws.go
aws.go
3049:3057 
3059:3067 
view
8 x 10 azure/clients/containerserviceclient
azure/clients/vmssvmclient
azure/clients/storageaccountclient
azure/clients/subnetclient
azure/clients/publicipclient
azure/clients/snapshotclient
azure/clients/loadbalancerclient
azure/clients/deploymentclient
azure/clients/vmssclient
azure/clients/securitygroupclient
azure_containerserviceclient.go
azure_vmssvmclient.go
azure_storageaccountclient.go
azure_subnetclient.go
azure_publicipclient.go
azure_snapshotclient.go
azure_loadbalancerclient.go
azure_deploymentclient.go
azure_vmssclient.go
azure_securitygroupclient.go
213:221 
289:297 
390:398 
331:339 
397:405 
324:332 
331:339 
213:221 
355:363 
331:339 
view
8 x 3 azure/clients/storageaccountclient
azure/clients/publicipclient
azure/clients/snapshotclient
azure_storageaccountclient.go
azure_publicipclient.go
azure_snapshotclient.go
402:411 
409:418 
336:345 
view
8 x 2 azure/clients/subnetclient
azure/clients/loadbalancerclient
azure_subnetclient.go
azure_loadbalancerclient.go
343:352 
343:352 
view
8 x 2 azure/clients/diskclient
azure/clients/diskclient
azure_diskclient.go
azure_diskclient.go
205:213 
273:281 
view
7 x 2 gce
azure/metrics
metrics.go
azure_metrics.go
63:71 
87:95 
view
6 x 2 azure/mockvmsets
azure/mockvmsets
azure_mock_vmsets.go
azure_mock_vmsets.go
61:67 
76:82 
view
6 x 2 azure/clients/armclient/mockarmclient
azure/clients/armclient/mockarmclient
interface.go
interface.go
221:227 
265:271 
view
6 x 2 azure/clients/vmssclient/mockvmssclient
azure/clients/vmssclient/mockvmssclient
interface.go
interface.go
148:154 
193:199 
view
6 x 2 azure/clients/vmssclient/mockvmssclient
azure/clients/vmssclient/mockvmssclient
interface.go
interface.go
163:169 
178:184 
view