kubernetes / minikube
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
  • 15% duplication:
    • 39,926 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 6,218 duplicated lines
  • 817 duplicates
system15% (6,218 lines)
Duplication per Extension
yaml62% (3,021 lines)
go8% (2,843 lines)
js35% (207 lines)
ps128% (95 lines)
in22% (32 lines)
toml5% (20 lines)
Duplication per Component (primary)
pkg/minikube19% (4,372 lines)
hack/update42% (640 lines)
hack/jenkins28% (340 lines)
pkg/drivers8% (278 lines)
pkg/provision45% (180 lines)
cmd/minikube2% (123 lines)
deploy/addons24% (94 lines)
hack/benchmark11% (62 lines)
deploy/iso14% (42 lines)
pkg/addons5% (35 lines)
hack/kicbase_version25% (28 lines)
cmd/auto-pause3% (12 lines)
pkg/kapi8% (12 lines)
cmd/drivers0% (0 lines)
cmd/gvisor0% (0 lines)
cmd/performance0% (0 lines)
cmd/storage-provisioner0% (0 lines)
cmd/extract0% (0 lines)
ROOT0% (0 lines)
site/static0% (0 lines)
site/assets0% (0 lines)
site0% (0 lines)
site/content0% (0 lines)
site/layouts0% (0 lines)
pkg/storage0% (0 lines)
pkg/network0% (0 lines)
pkg/version0% (0 lines)
pkg/util0% (0 lines)
pkg/gvisor0% (0 lines)
pkg/generate0% (0 lines)
pkg/perf0% (0 lines)
pkg/trace0% (0 lines)
translations0% (0 lines)
deploy/minikube0% (0 lines)
hack/help_text0% (0 lines)
hack/metrics0% (0 lines)
hack/boilerplate0% (0 lines)
hack/preload-images0% (0 lines)
installers/linux0% (0 lines)
installers/windows0% (0 lines)

Duplication Between Components (50+ lines)

G hack/update hack/update pkg/minikube pkg/minikube hack/update--pkg/minikube 182 pkg/drivers pkg/drivers pkg/drivers--pkg/minikube 98 hack/kicbase_version hack/kicbase_version hack/kicbase_version--hack/update 56

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 817 duplicates...
Size#FoldersFilesLinesCode
746 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1046:1791 (18%)
2586:3331 (18%)
view
371 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
2588:2958 (9%)
2961:3331 (9%)
view
371 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1421:1791 (9%)
2588:2958 (9%)
view
371 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1048:1418 (9%)
1421:1791 (9%)
view
371 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1048:1418 (9%)
2961:3331 (9%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1290:1414 (3%)
2977:3101 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
2977:3101 (3%)
3203:3327 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1290:1414 (3%)
1437:1561 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1064:1188 (3%)
1290:1414 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1290:1414 (3%)
2604:2728 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1437:1561 (3%)
2830:2954 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1663:1787 (3%)
2604:2728 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1437:1561 (3%)
1663:1787 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1064:1188 (3%)
2830:2954 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1663:1787 (3%)
2977:3101 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1064:1188 (3%)
1663:1787 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
2604:2728 (3%)
3203:3327 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1064:1188 (3%)
3203:3327 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
2604:2728 (3%)
2830:2954 (3%)
view
125 x 2 pkg/minikube/cni
pkg/minikube/cni
calico.yaml
calico.yaml
1437:1561 (3%)
3203:3327 (3%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 20 unit duplicates...
Size#FoldersFilesLinesCode
35 x 2 pkg/minikube/tunnel
pkg/minikube/tunnel
route_freebsd.go
route_darwin.go
71:111 
78:118 
view
32 x 2 pkg/minikube/cruntime
pkg/minikube/cruntime
crio.go
containerd.go
458:494 
578:614 
view
30 x 2 pkg/minikube/tunnel
pkg/minikube/tunnel
route_freebsd.go
route_darwin.go
113:143 
120:150 
view
29 x 2 pkg/provision
pkg/provision
ubuntu.go
buildroot.go
164:200 
161:196 
view
25 x 2 pkg/drivers/ssh
pkg/drivers/none
ssh.go
none.go
212:241 
149:178 
view
18 x 2 pkg/drivers/ssh
pkg/drivers/none
ssh.go
none.go
186:204 
213:231 
view
14 x 2 pkg/minikube/localpath
pkg/minikube/localpath
localpath.go
localpath.go
83:100 
108:125 
view
12 x 2 pkg/minikube/cruntime
pkg/minikube/cruntime
cri.go
cri.go
185:198 
227:240 
view
11 x 2 pkg/minikube/tunnel
pkg/minikube/tunnel
route_freebsd.go
route_darwin.go
55:69 
62:76 
view
11 x 2 pkg/minikube/command
pkg/drivers/kic/oci
command_runner.go
cli_runner.go
89:100 
50:61 
view
9 x 2 pkg/minikube/command
pkg/drivers/kic/oci
command_runner.go
cli_runner.go
103:112 
64:73 
view
9 x 2 pkg/minikube/cruntime
pkg/minikube/cruntime
cri.go
cri.go
201:211 
214:224 
view
9 x 2 hack/jenkins
hack/jenkins
release_update_releases_json.go
release_update_releases_json.go
169:179 
260:270 
view
9 x 2 hack/jenkins/test-flake-chart
hack/jenkins/test-flake-chart
flake_chart.js
flake_chart.js
320:329 
525:534 
view
7 x 2 pkg/minikube/cruntime
pkg/minikube/cruntime
docker.go
docker.go
86:94 
353:361 
view
6 x 3 pkg/minikube/driver
pkg/minikube/driver
pkg/minikube/driver
driver_linux.go
driver_freebsd.go
driver_darwin.go
36:42 
26:32 
59:65 
view
6 x 2 pkg/minikube/sysinit
pkg/minikube/sysinit
systemd.go
systemd.go
100:106 
109:115 
view
6 x 2 pkg/drivers/hyperkit
pkg/drivers/none
driver.go
none.go
131:137 
118:124 
view
6 x 2 hack/update/golint_version
hack/update/gopogh_version
update_golint_version.go
update_gopogh_version.go
81:88 
101:108 
view
6 x 2 hack/benchmark/cpu_usage/idle_only
hack/benchmark/cpu_usage/auto_pause
chart.go
chart.go
39:45 
40:46 
view