kubernetes / pod-security-admission
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
  • 14% duplication:
    • 2,868 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 428 duplicated lines
  • 27 duplicates
system14% (428 lines)
Duplication per Extension
go14% (392 lines)
yaml14% (36 lines)
Duplication per Component (primary)
admission/api/v1alpha158% (102 lines)
admission/api/v1beta158% (102 lines)
policy9% (88 lines)
admission/api44% (52 lines)
webhook/manifests16% (36 lines)
metrics13% (26 lines)
admission4% (22 lines)
webhook0% (0 lines)
cmd/webhook/server0% (0 lines)
cmd/webhook0% (0 lines)
api0% (0 lines)
ROOT0% (0 lines)
admission/api/load0% (0 lines)
admission/api/scheme0% (0 lines)
admission/api/validation0% (0 lines)

Duplication Between Components (50+ lines)

G admission/api/v1alpha1 admission/api/v1alpha1 admission/api/v1beta1 admission/api/v1beta1 admission/api/v1alpha1--admission/api/v1beta1 204 admission/api admission/api admission/api/v1alpha1--admission/api 104 admission/api/v1beta1--admission/api 104

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 27 duplicates...
Size#FoldersFilesLinesCode
46 x 2 admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:99 (100%)
29:99 (100%)
view
46 x 2 admission/api/v1alpha1
admission/api/v1beta1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:99 (100%)
29:99 (100%)
view
46 x 2 admission/api/v1alpha1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:99 (100%)
29:99 (100%)
view
19 x 2 policy
policy
check_seccompProfile_baseline.go
check_seccompProfile_restricted.go
145:166 (24%)
98:119 (31%)
view
15 x 2 admission/api/v1alpha1
admission/api/v1beta1
defaults.go
defaults.go
24:46 (100%)
24:46 (100%)
view
15 x 2 admission/api/v1alpha1
admission/api/v1beta1
types.go
types.go
25:43 (100%)
25:43 (100%)
view
13 x 2 policy
policy
check_runAsUser.go
check_seccompProfile_baseline.go
77:92 (37%)
145:160 (16%)
view
13 x 2 policy
policy
check_runAsUser.go
check_seccompProfile_restricted.go
77:92 (37%)
98:113 (21%)
view
13 x 2 policy
policy
check_runAsNonRoot.go
check_seccompProfile_baseline.go
93:108 (24%)
145:160 (16%)
view
13 x 2 policy
policy
check_runAsNonRoot.go
check_seccompProfile_restricted.go
93:108 (24%)
98:113 (21%)
view
13 x 2 policy
policy
check_runAsNonRoot.go
check_runAsUser.go
93:108 (24%)
77:92 (37%)
view
12 x 2 admission/api/v1alpha1
admission/api/v1beta1
register.go
register.go
30:49 (85%)
30:49 (85%)
view
11 x 2 admission
admission
admission.go
admission.go
319:336 (2%)
383:400 (2%)
view
10 x 2 webhook/manifests
webhook/manifests
70-validatingwebhookconfiguration.yaml
70-validatingwebhookconfiguration.yaml
12:22 (15%)
40:49 (15%)
view
8 x 2 webhook/manifests
webhook/manifests
70-validatingwebhookconfiguration.yaml
70-validatingwebhookconfiguration.yaml
26:34 (12%)
66:74 (12%)
view
7 x 2 admission/api/v1alpha1
admission/api/v1beta1
zz_generated.conversion.go
zz_generated.conversion.go
118:124 (8%)
103:109 (8%)
view
7 x 2 admission/api/v1alpha1
admission/api/v1beta1
zz_generated.conversion.go
zz_generated.conversion.go
118:124 (8%)
118:124 (8%)
view
7 x 2 admission/api/v1alpha1
admission/api/v1alpha1
zz_generated.conversion.go
zz_generated.conversion.go
103:109 (8%)
118:124 (8%)
view
7 x 2 admission/api/v1beta1
admission/api/v1beta1
zz_generated.conversion.go
zz_generated.conversion.go
103:109 (8%)
118:124 (8%)
view
7 x 2 metrics
metrics
metrics.go
metrics.go
215:221 (3%)
275:281 (3%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 admission/api/v1alpha1
admission/api/v1beta1
defaults.go
defaults.go
28:48 
28:48 
view
18 x 3 admission/api/v1alpha1
admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
72:90 
72:90 
72:90 
view
9 x 2 metrics
metrics
metrics.go
metrics.go
214:223 
274:283 
view
8 x 2 metrics
metrics
metrics.go
metrics.go
203:212 
263:272 
view
8 x 3 admission/api/v1alpha1
admission/api/v1alpha1
admission/api/v1beta1
zz_generated.conversion.go
zz_generated.conversion.go
zz_generated.conversion.go
102:110 
117:125 
102:110 
view
7 x 3 admission/api/v1alpha1
admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
38:45 
38:45 
38:45 
view
7 x 3 admission/api/v1alpha1
admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
62:69 
62:69 
62:69 
view
7 x 3 admission/api/v1alpha1
admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
93:100 
93:100 
93:100 
view
6 x 3 admission/api/v1alpha1
admission/api/v1beta1
admission/api
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:35 
29:35 
29:35 
view