kubernetes / apiextensions-apiserver
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
  • 65% duplication:
    • 28,428 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 18,649 duplicated lines
  • 51,272 duplicates
system65% (18,649 lines)
Duplication per Extension
go64% (17,535 lines)
proto90% (1,114 lines)
Duplication per Component (primary)
pkg/apis84% (17,387 lines)
pkg/client58% (751 lines)
pkg/controller16% (245 lines)
pkg/apiserver5% (228 lines)
pkg/registry3% (28 lines)
pkg/apihelpers8% (10 lines)
pkg/cmd0% (0 lines)
pkg/crdserverscheme0% (0 lines)
pkg/features0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G pkg/apiserver pkg/apiserver pkg/controller pkg/controller pkg/apiserver--pkg/controller 150 pkg/apis pkg/apis pkg/apis--pkg/apiserver 90

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 51,272 duplicates...
Size#FoldersFilesLinesCode
2583 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
5552:9054 (37%)
5710:9212 (37%)
view
886 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
1531:2691 (12%)
1558:2718 (12%)
view
590 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
4595:5396 (8%)
4614:5415 (8%)
view
534 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
3839:4561 (7%)
3826:4548 (7%)
view
309 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
2941:3362 (4%)
2947:3369 (4%)
view
255 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
267:678 (60%)
292:703 (60%)
view
251 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
3534:3830 (3%)
3532:3828 (3%)
view
245 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
proto
generated.proto
generated.proto
418:713 (40%)
470:765 (38%)
view
229 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions
zz_generated.deepcopy.go
zz_generated.deepcopy.go
111:466 (54%)
29:384 (64%)
view
189 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
1231:1481 (2%)
1213:1463 (2%)
view
163 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
1011:1227 (2%)
984:1200 (2%)
view
156 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
deepcopy.go
deepcopy.go
20:243 (96%)
20:243 (90%)
view
111 x 2 pkg/apis/apiextensions
pkg/apis/apiextensions/v1beta1
deepcopy.go
deepcopy.go
130:293 (59%)
106:269 (64%)
view
111 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions
zz_generated.deepcopy.go
zz_generated.deepcopy.go
267:441 (26%)
210:384 (31%)
view
100 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
proto
generated.proto
generated.proto
299:416 (16%)
351:468 (15%)
view
95 x 2 pkg/apis/apiextensions
pkg/apis/apiextensions/v1
deepcopy.go
deepcopy.go
130:267 (51%)
106:243 (59%)
view
81 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions
zz_generated.deepcopy.go
zz_generated.deepcopy.go
486:619 (19%)
383:516 (22%)
view
81 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions
zz_generated.deepcopy.go
zz_generated.deepcopy.go
461:594 (19%)
383:516 (22%)
view
78 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
generated.pb.go
generated.pb.go
9152:9257 (1%)
9192:9297 (1%)
view
78 x 2 pkg/apis/apiextensions/v1
pkg/apis/apiextensions/v1beta1
types_jsonschema.go
types_jsonschema.go
20:330 (100%)
20:330 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 204 unit duplicates...
Size#FoldersFilesLinesCode
1670 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
6764:8435 
6606:8277 
view
514 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
1942:2456 
1915:2429 
view
279 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
5880:6160 
5722:6002 
view
240 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
5113:5354 
5094:5335 
view
227 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
4257:4485 
4270:4498 
view
209 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
4785:4995 
4766:4976 
view
175 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
3089:3264 
3082:3257 
view
165 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
8780:8946 
8622:8788 
view
151 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
9061:9213 
8903:9055 
view
147 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
3986:4134 
3999:4147 
view
147 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
4636:4784 
4617:4765 
view
147 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
5731:5879 
5573:5721 
view
146 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
3838:3985 
3851:3998 
view
145 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
6161:6307 
6003:6149 
view
120 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
4135:4256 
4148:4269 
view
120 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
6358:6479 
6200:6321 
view
118 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
8436:8555 
8278:8397 
view
117 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
3638:3755 
3640:3757 
view
116 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
8662:8779 
8504:8621 
view
115 x 2 pkg/apis/apiextensions/v1beta1
pkg/apis/apiextensions/v1
generated.pb.go
generated.pb.go
4996:5112 
4977:5093 
view