awslabs / amazon-apigateway-ingress-controller
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:
    • 1,399 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 201 duplicated lines
  • 28 duplicates
system14% (201 lines)
Duplication per Extension
go11% (130 lines)
yaml27% (71 lines)
Duplication per Component (primary)
pkg/controller14% (99 lines)
config/rbac49% (59 lines)
pkg/nginx80% (25 lines)
config/manager14% (12 lines)
pkg/webhook100% (6 lines)
pkg/cloudformation0% (0 lines)
pkg/network0% (0 lines)
pkg/logging0% (0 lines)
pkg/finalizers0% (0 lines)
ROOT0% (0 lines)
config/default0% (0 lines)
config/iam0% (0 lines)
cmd/manager0% (0 lines)

Duplication Between Components (50+ lines)

G pkg/controller pkg/controller pkg/nginx pkg/nginx pkg/controller--pkg/nginx 50

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 28 duplicates...
Size#FoldersFilesLinesCode
12 x 2 pkg/controller/ingress
pkg/controller/ingress
mocks.go
mocks.go
105:116 (6%)
130:141 (6%)
view
11 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
33:43 (10%)
88:98 (10%)
view
11 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
76:86 (10%)
88:98 (10%)
view
11 x 2 pkg/controller/ingress
pkg/nginx
nginx.go
nginx.go
22:35 (29%)
22:35 (35%)
view
11 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
33:43 (10%)
76:86 (10%)
view
10 x 2 pkg/controller/ingress
pkg/controller/ingress
ingress_controller.go
ingress_controller.go
372:386 (2%)
405:419 (2%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
11:19 (8%)
55:63 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
55:63 (8%)
76:84 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
11:19 (8%)
76:84 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
11:19 (8%)
33:41 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
55:63 (8%)
88:96 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
33:41 (8%)
55:63 (8%)
view
9 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
11:19 (8%)
88:96 (8%)
view
8 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
76:83 (7%)
100:107 (7%)
view
8 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
88:95 (7%)
100:107 (7%)
view
8 x 2 pkg/controller/ingress
pkg/nginx
nginx.go
nginx.go
38:47 (21%)
38:47 (25%)
view
8 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
33:40 (7%)
100:107 (7%)
view
8 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
55:62 (7%)
100:107 (7%)
view
8 x 2 config/rbac
config/rbac
rbac_role.yaml
rbac_role.yaml
11:18 (7%)
100:107 (7%)
view
7 x 2 pkg/controller/ingress
pkg/controller/ingress
mocks.go
mocks.go
121:127 (3%)
140:146 (3%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
7 x 2 pkg/controller
pkg/webhook
controller.go
webhook.go
26:33 
29:36 
view