kubernetes / apimachinery
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
  • 27% duplication:
    • 31,741 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 8,690 duplicated lines
  • 33,725 duplicates
system27% (8,690 lines)
Duplication per Extension
go27% (8,397 lines)
proto19% (293 lines)
Duplication per Component (primary)
pkg/apis47% (7,524 lines)
pkg/runtime13% (613 lines)
pkg/util5% (321 lines)
pkg/api5% (206 lines)
pkg/watch2% (12 lines)
pkg/fields3% (7 lines)
pkg/labels1% (7 lines)
pkg/selection0% (0 lines)
pkg/conversion0% (0 lines)
pkg/version0% (0 lines)
pkg/types0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G pkg/apis pkg/apis pkg/runtime pkg/runtime pkg/apis--pkg/runtime 5866 pkg/util pkg/util pkg/apis--pkg/util 4864 pkg/runtime--pkg/util 484 pkg/api pkg/api pkg/api--pkg/apis 2415 pkg/api--pkg/runtime 232 pkg/api--pkg/util 144

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 33,725 duplicates...
Size#FoldersFilesLinesCode
87 x 2 pkg/apis/testapigroup/v1
pkg/apis/testapigroup
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:164 (100%)
29:164 (100%)
view
85 x 2 pkg/apis/meta/v1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
5915:6031 (<1%)
1148:1264 (5%)
view
79 x 2 pkg/apis/meta/v1beta1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
305:412 (28%)
2140:2247 (4%)
view
79 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1beta1
generated.pb.go
generated.pb.go
11464:11571 (<1%)
305:412 (28%)
view
79 x 2 pkg/apis/meta/v1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
11464:11571 (<1%)
2140:2247 (4%)
view
78 x 2 pkg/runtime
pkg/util/intstr
generated.pb.go
generated.pb.go
741:846 (12%)
264:369 (31%)
view
78 x 2 pkg/apis/testapigroup/v1
pkg/util/intstr
generated.pb.go
generated.pb.go
2142:2247 (4%)
264:369 (31%)
view
78 x 2 pkg/apis/meta/v1
pkg/runtime
generated.pb.go
generated.pb.go
11466:11571 (<1%)
741:846 (12%)
view
78 x 2 pkg/apis/meta/v1beta1
pkg/util/intstr
generated.pb.go
generated.pb.go
307:412 (28%)
264:369 (31%)
view
78 x 2 pkg/apis/meta/v1beta1
pkg/runtime
generated.pb.go
generated.pb.go
307:412 (28%)
741:846 (12%)
view
78 x 2 pkg/apis/meta/v1
pkg/util/intstr
generated.pb.go
generated.pb.go
11466:11571 (<1%)
264:369 (31%)
view
78 x 2 pkg/apis/testapigroup/v1
pkg/runtime
generated.pb.go
generated.pb.go
2142:2247 (4%)
741:846 (12%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
7415:7505 (<1%)
1516:1606 (4%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
8926:9016 (<1%)
9053:9143 (<1%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
7415:7505 (<1%)
9053:9143 (<1%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
7415:7505 (<1%)
8926:9016 (<1%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
9053:9143 (<1%)
1516:1606 (4%)
view
70 x 2 pkg/apis/meta/v1
pkg/apis/testapigroup/v1
generated.pb.go
generated.pb.go
8926:9016 (<1%)
1516:1606 (4%)
view
61 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
6094:6177 (<1%)
9853:9936 (<1%)
view
51 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
7090:7156 (<1%)
7236:7302 (<1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 47 unit duplicates...
Size#FoldersFilesLinesCode
82 x 2 pkg/runtime
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
384:467 
6440:6523 
view
77 x 5 pkg/util/intstr
pkg/runtime
pkg/apis/testapigroup/v1
pkg/apis/meta/v1beta1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
286:363 
763:840 
2164:2241 
329:406 
11488:11565 
view
30 x 2 pkg/apis/testapigroup/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
402:432 
2412:2442 
view
21 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
zz_generated.conversion.go
zz_generated.conversion.go
282:305 
499:522 
view
20 x 2 pkg/apis/testapigroup
pkg/apis/testapigroup/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
108:128 
108:128 
view
17 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
3654:3671 
4237:4254 
view
15 x 2 pkg/apis/testapigroup/v1
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
677:692 
3860:3875 
view
14 x 2 pkg/apis/testapigroup
pkg/apis/testapigroup/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
141:155 
141:155 
view
13 x 2 pkg/runtime
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
182:195 
2043:2056 
view
12 x 2 pkg/apis/testapigroup
pkg/apis/testapigroup/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
75:87 
75:87 
view
11 x 2 pkg/runtime
pkg/apis/meta/v1
generated.pb.go
generated.pb.go
291:302 
3712:3723 
view
10 x 6 pkg/api/resource
pkg/util/intstr
pkg/runtime
pkg/apis/testapigroup/v1
pkg/apis/meta/v1beta1
pkg/apis/meta/v1
quantity_proto.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
66:76 
136:146 
280:290 
630:640 
154:164 
3489:3499 
view
10 x 6 pkg/util/intstr
pkg/api/resource
pkg/runtime
pkg/apis/testapigroup/v1
pkg/apis/meta/v1beta1
pkg/apis/meta/v1
generated.pb.go
quantity_proto.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
136:146 
66:76 
280:290 
630:640 
154:164 
3489:3499 
view
9 x 2 pkg/api/meta
pkg/api/meta
multirestmapper.go
restmapper.go
127:137 
279:289 
view
9 x 2 pkg/api/meta
pkg/api/meta
multirestmapper.go
restmapper.go
139:149 
358:368 
view
9 x 2 pkg/apis/meta/v1
pkg/apis/meta/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
196:205 
235:244 
view
8 x 6 pkg/api/resource
pkg/util/intstr
pkg/runtime
pkg/apis/testapigroup/v1
pkg/apis/meta/v1beta1
pkg/apis/meta/v1
quantity_proto.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
29:37 
102:110 
167:175 
271:279 
107:115 
1511:1519 
view
8 x 6 pkg/util/intstr
pkg/api/resource
pkg/runtime
pkg/apis/testapigroup/v1
pkg/apis/meta/v1beta1
pkg/apis/meta/v1
generated.pb.go
quantity_proto.go
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
102:110 
29:37 
167:175 
271:279 
107:115 
1511:1519 
view
8 x 2 pkg/runtime/testing
pkg/apis/meta/v1/unstructured
types.go
unstructured.go
299:307 
140:148 
view
8 x 2 pkg/watch
pkg/watch
watch.go
watch.go
112:120 
179:187 
view