Duplication Overall
  • 9% duplication:
    • 8,177 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 744 duplicated lines
  • 52 duplicates
system9% (744 lines)
dependency graphs: 2D graph | 2D graph (with duplicates)... | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
scala11% (568 lines)
html11% (156 lines)
js2% (20 lines)
Duplication per Component (primary)
app9% (472 lines)
setup48% (178 lines)
configTools11% (74 lines)
frontend1% (20 lines)
example0% (0 lines)
.devcontainer0% (0 lines)
project0% (0 lines)
scripts0% (0 lines)
.github0% (0 lines)
conf0% (0 lines)

Duplication Between Components (50+ lines)

flowchart TB
    n0["app"]
    n1["setup"]
    n0 ---|"144"| n1
    classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    linkStyle 0 stroke:#DC143CFF,stroke-width:10px



2D force graph | 3D force graph

Show more details on duplication between components...
From Component
 --> To Component
Duplicated
Lines
File Pairs Details
app (1%)
  --> setup (19%)
144 1 file pair details...

Longest Duplicates
The list of 50 longest duplicates.
See data for all 52 duplicates...
Size#FoldersFilesLinesCode
72 x 2 app/aws
setup/src/main/scala/aws
18:123 (100%)
18:123 (100%)
view
22 x 2 app/views
app/views
82:107 (24%)
63:88 (30%)
view
16 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
49:66 (32%)
44:60 (34%)
view
15 x 2 configTools/src/main/scala/com/gu/janus/policy
configTools/src/main/scala/com/gu/janus/policy
71:85 (20%)
92:106 (20%)
view
12 x 2 app/services
app/services
93:104 (5%)
166:177 (5%)
view
12 x 2 app/services
app/services
93:104 (5%)
234:245 (5%)
view
12 x 2 app/services
app/services
166:177 (5%)
234:245 (5%)
view
11 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
37:47 (22%)
32:42 (23%)
view
10 x 2 app/aws
app/aws
156:165 (4%)
173:182 (4%)
view
10 x 2 frontend/utils
frontend/utils
128:140 (3%)
153:165 (3%)
view
10 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
76:85 (12%)
45:54 (21%)
view
10 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
76:85 (12%)
50:59 (20%)
view
9 x 2 app/views/fragments
app/views/fragments
19:28 (9%)
30:39 (9%)
view
9 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
69:77 (11%)
47:55 (19%)
view
9 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
69:77 (11%)
52:60 (18%)
view
8 x 2 app/controllers
app/controllers
237:244 (2%)
259:266 (2%)
view
8 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
27:34 (10%)
60:67 (10%)
view
8 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
69:76 (10%)
78:85 (10%)
view
8 x 2 app/views/fragments
app/views/fragments
63:70 (8%)
73:80 (8%)
view
8 x 2 app/views
app/views
32:42 (8%)
12:22 (11%)
view
8 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
28:35 (16%)
23:30 (17%)
view
8 x 2 app/views
app/views
51:58 (14%)
15:22 (42%)
view
7 x 2 app/controllers
app/controllers
184:190 (1%)
193:199 (1%)
view
7 x 2 app/controllers
app/controllers
272:278 (1%)
300:306 (1%)
view
7 x 2 app/models
app/models
33:39 (10%)
45:51 (10%)
view
7 x 2 app/logic
app/logic
40:46 (3%)
69:75 (3%)
view
7 x 2 configTools/src/main/scala/com/gu/janus/model
configTools/src/main/scala/com/gu/janus/model
118:124 (5%)
142:148 (5%)
view
7 x 2 app/controllers
app/controllers
67:73 (10%)
78:84 (10%)
view
7 x 2 app/views/support
app/views/support
7:16 (53%)
9:17 (26%)
view
6 x 2 configTools/src/main/scala/com/gu/janus/policy
configTools/src/main/scala/com/gu/janus/policy
30:35 (8%)
50:55 (8%)
view
6 x 2 app/controllers
app/controllers
67:72 (1%)
128:133 (1%)
view
6 x 2 app/logic
app/logic
32:37 (2%)
61:66 (2%)
view
6 x 2 configTools/src/main/scala/com/gu/janus/model
configTools/src/main/scala/com/gu/janus/model
92:97 (4%)
119:124 (4%)
view
6 x 2 configTools/src/main/scala/com/gu/janus/model
configTools/src/main/scala/com/gu/janus/model
92:97 (4%)
143:148 (4%)
view
6 x 2 app/services
app/services
36:41 (2%)
84:89 (2%)
view
6 x 2 app/services
app/services
36:41 (2%)
157:162 (2%)
view
6 x 2 app/services
app/services
84:89 (2%)
157:162 (2%)
view
6 x 2 app/services
app/services
186:191 (2%)
211:216 (2%)
view
6 x 2 app/views
app/views
30:35 (6%)
55:60 (6%)
view
6 x 2 app/views/fragments
app/views/fragments
20:26 (6%)
63:68 (6%)
view
6 x 2 app/views/fragments
app/views/fragments
20:26 (6%)
73:78 (6%)
view
6 x 2 app/views/fragments
app/views/fragments
31:37 (6%)
63:68 (6%)
view
6 x 2 app/views/fragments
app/views/fragments
31:37 (6%)
73:78 (6%)
view
6 x 2 configTools/src/main/scala/com/gu/janus/config
configTools/src/main/scala/com/gu/janus/config
106:111 (3%)
195:200 (3%)
view
6 x 2 app/aws
app/aws
25:30 (7%)
47:52 (7%)
view
6 x 2 app/aws
app/aws
37:42 (7%)
57:62 (7%)
view
6 x 2 app/controllers
app/controllers
37:42 (8%)
58:63 (8%)
view
6 x 2 app/aws
app/aws
63:68 (8%)
93:98 (8%)
view
6 x 2 setup/src/main/scala/aws
setup/src/main/scala/aws
32:37 (7%)
32:37 (12%)
view
6 x 2 app/views
app/views
45:53 (6%)
26:34 (8%)
view
Most Frequent Duplicates
The list of 17 most frequently found duplicates.
Size#FoldersFilesLinesCode
6 x 4 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
54:59 (12%)
49:54 (12%)
71:76 (7%)
80:85 (7%)
view
6 x 4 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
53:58 (12%)
48:53 (12%)
70:75 (7%)
79:84 (7%)
view
6 x 4 app/views/fragments
app/views/fragments
app/views/fragments
app/views/fragments
20:26 (6%)
31:37 (6%)
63:68 (6%)
73:78 (6%)
view
6 x 4 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
52:57 (12%)
47:52 (12%)
69:74 (7%)
78:83 (7%)
view
6 x 3 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
51:56 (12%)
46:51 (12%)
77:82 (7%)
view
6 x 3 configTools/src/main/scala/com/gu/janus/model
configTools/src/main/scala/com/gu/janus/model
configTools/src/main/scala/com/gu/janus/model
92:97 (4%)
119:124 (4%)
143:148 (4%)
view
6 x 3 app/services
app/services
app/services
98:103 (2%)
171:176 (2%)
239:244 (2%)
view
6 x 3 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
37:42 (12%)
32:37 (12%)
32:37 (7%)
view
6 x 3 app/services
app/services
app/services
36:41 (2%)
84:89 (2%)
157:162 (2%)
view
6 x 3 app/services
app/services
app/services
93:98 (2%)
166:171 (2%)
234:239 (2%)
view
6 x 3 app/services
app/services
app/services
99:104 (2%)
172:177 (2%)
240:245 (2%)
view
6 x 3 app/services
app/services
app/services
94:99 (2%)
167:172 (2%)
235:240 (2%)
view
6 x 3 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
55:60 (12%)
50:55 (12%)
72:77 (7%)
view
6 x 3 app/services
app/services
app/services
97:102 (2%)
170:175 (2%)
238:243 (2%)
view
6 x 3 setup/src/main/scala/aws
setup/src/main/scala/aws
setup/src/main/scala/aws
50:55 (12%)
45:50 (12%)
76:81 (7%)
view
6 x 3 app/services
app/services
app/services
96:101 (2%)
169:174 (2%)
237:242 (2%)
view
6 x 3 app/services
app/services
app/services
95:100 (2%)
168:173 (2%)
236:241 (2%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
57 x 2 app/aws
setup/src/main/scala/aws
33:111 
33:111 
view
About This Analysis
  • 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...