deck.gl
Duplication

Intro
  • For duplication, we look at places in code where there are six 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
  • 7% duplication:
    • 32,598 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,354 duplicated lines
  • 160 duplicates
system7% (2,354 lines)
Duplication per Extension
js7% (2,354 lines)
Duplication per Component (primary)
modules5% (1,107 lines)
examples12% (751 lines)
website9% (257 lines)
showcases8% (239 lines)
ROOT0% (0 lines)
scripts0% (0 lines)
bindings0% (0 lines)

Duplication Between Components (50+ lines)

G examples examples modules modules examples--modules 66

Download: SVG DOT (open online Graphviz editor)

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
Size#FoldersFilesLinesCode
27 x 2 examples/get-started/pure-js/globe
examples/get-started/pure-js/basic
app.js
app.js
44:77 (44%)
32:65 (52%)
view
26 x 3 examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/mapbox
examples/get-started/pure-js/google-maps
app.js
app.js
app.js
64:93 (37%)
45:74 (44%)
31:60 (55%)
view
25 x 6 examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/globe
examples/get-started/pure-js/basic
examples/get-started/pure-js/google-maps
examples/get-started/pure-js/arcgis
examples/get-started/pure-js/mapbox
app.js
app.js
app.js
app.js
app.js
app.js
65:93 (36%)
45:73 (40%)
33:61 (49%)
32:60 (53%)
12:40 (60%)
46:74 (42%)
view
24 x 2 examples/website/brushing
examples/website/arc
app.js
app.js
173:200 (16%)
103:130 (24%)
view
22 x 2 examples/website/plot/plot-layer
examples/website/plot/plot-layer
grid-vertex.glsl.js
label-vertex.glsl.js
38:65 (50%)
53:80 (29%)
view
21 x 2 showcases/wind/src/layers/particle-layer
showcases/wind/src/layers/particle-layer
particle-layer.js
particle-layer.js
127:149 (7%)
218:240 (7%)
view
19 x 2 modules/core/src/transitions
modules/core/src/transitions
gpu-interpolation-transition.js
gpu-spring-transition.js
61:86 (20%)
58:87 (21%)
view
19 x 2 modules/layers/src/line-layer
modules/layers/src/arc-layer
line-layer.js
arc-layer.js
43:65 (23%)
49:71 (17%)
view
17 x 2 showcases/graph/graph-layer/adaptor
showcases/graph/graph-layer/adaptor
graph-flare.js
graph-SNAP.js
4:29 (30%)
1:26 (34%)
view
16 x 2 showcases/wind/src/layers/particle-layer
showcases/wind/src/layers/wind-layer
particle-layer.js
wind-layer.js
300:317 (6%)
179:196 (10%)
view
16 x 2 modules/core/src/controllers
modules/core/src/controllers
first-person-controller.js
map-controller.js
201:222 (10%)
297:318 (6%)
view
16 x 2 modules/layers/src/geojson-layer
modules/layers/src/geojson-layer
geojson-layer.js
geojson-layer.js
206:224 (6%)
244:262 (6%)
view
15 x 2 website/src/examples
website/src/examples
brushing-extension.js
arc-layer.js
34:51 (27%)
30:47 (30%)
view
14 x 4 examples/website/3d-heatmap
examples/website/scenegraph
examples/website/brushing
examples/website/arc
app.js
app.js
app.js
app.js
107:122 (14%)
136:151 (12%)
179:194 (9%)
109:124 (14%)
view
14 x 3 showcases/graph/graph-layer/adaptor
showcases/graph/graph-layer/adaptor
showcases/graph/graph-layer/adaptor
graph-flare.js
graph-basic.js
graph-SNAP.js
4:26 (25%)
1:23 (70%)
1:23 (28%)
view
14 x 2 examples/get-started/react/basic
examples/get-started/react/mapbox
app.js
app.js
8:25 (26%)
10:27 (31%)
view
14 x 2 modules/aggregation-layers/src/gpu-grid-layer
modules/aggregation-layers/src/contour-layer
gpu-grid-layer.js
contour-layer.js
293:307 (5%)
170:184 (7%)
view
13 x 5 examples/website/geojson
examples/website/scenegraph
examples/website/arc
examples/website/3d-heatmap
examples/website/brushing
app.js
app.js
app.js
app.js
app.js
107:121 (13%)
136:150 (11%)
109:123 (13%)
107:121 (13%)
179:193 (8%)
view
13 x 2 modules/core/src/lib
modules/core/src/lib
composite-layer.js
composite-layer.js
129:141 (10%)
146:158 (10%)
view
12 x 5 examples/website/line
examples/website/3d-heatmap
examples/website/brushing
examples/website/scenegraph
examples/website/arc
app.js
app.js
app.js
app.js
app.js
93:106 (14%)
109:122 (12%)
181:194 (8%)
138:151 (10%)
111:124 (12%)
view
Most Frequent Duplicates
The list of 20 most frequently found duplicates.
Size#FoldersFilesLinesCode
7 x 12 examples/website/highway
examples/website/line
examples/website/3d-heatmap
examples/website/data-filter
examples/website/brushing
examples/website/tagmap
examples/website/scenegraph
examples/website/icon
examples/website/screen-grid
examples/website/geojson
...
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
...
161:167 (4%)
94:100 (8%)
110:116 (7%)
119:125 (6%)
182:188 (4%)
58:64 (13%)
139:145 (6%)
111:117 (7%)
70:76 (11%)
110:116 (7%)
...
view
6 x 12 examples/website/highway
examples/website/heatmap
examples/website/screen-grid
examples/website/geojson
examples/website/data-filter
examples/website/3d-heatmap
examples/website/tagmap
examples/website/line
examples/website/brushing
examples/website/icon
...
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
...
162:167 (4%)
43:48 (14%)
71:76 (9%)
111:116 (6%)
120:125 (5%)
111:116 (6%)
59:64 (11%)
95:100 (7%)
183:188 (4%)
112:117 (6%)
...
view
8 x 10 examples/website/data-filter
examples/website/screen-grid
examples/website/geojson
examples/website/line
examples/website/arc
examples/website/tagmap
examples/website/3d-heatmap
examples/website/brushing
examples/website/scenegraph
examples/website/trips
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
119:126 (7%)
70:77 (12%)
110:117 (8%)
94:101 (9%)
112:119 (8%)
58:65 (15%)
110:117 (8%)
182:189 (5%)
139:146 (7%)
126:133 (7%)
view
9 x 10 examples/website/3d-heatmap
examples/website/heatmap
examples/website/scatterplot
examples/website/brushing
examples/website/tagmap
examples/website/screen-grid
examples/website/geojson
examples/website/line
examples/website/arc
examples/website/scenegraph
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
111:121 (9%)
43:53 (21%)
49:59 (20%)
183:193 (6%)
59:69 (16%)
71:81 (14%)
111:121 (9%)
95:105 (11%)
113:123 (9%)
140:150 (7%)
view
10 x 9 examples/website/scenegraph
examples/website/trips
examples/website/line
examples/website/geojson
examples/website/3d-heatmap
examples/website/brushing
examples/website/tagmap
examples/website/screen-grid
examples/website/arc
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
139:150 (8%)
126:137 (9%)
94:105 (12%)
110:121 (10%)
110:121 (10%)
182:193 (6%)
58:69 (18%)
70:81 (15%)
112:123 (10%)
view
7 x 9 examples/website/data-filter
examples/website/scatterplot
examples/website/tagmap
examples/website/screen-grid
examples/website/line
examples/website/brushing
examples/website/heatmap
examples/website/geojson
examples/website/3d-heatmap
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
app.js
120:126 (6%)
49:55 (15%)
59:65 (13%)
71:77 (11%)
95:101 (8%)
183:189 (4%)
43:49 (16%)
111:117 (7%)
111:117 (7%)
view
10 x 7 examples/get-started/pure-js/google-maps
examples/get-started/react/mapbox
examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/globe
examples/get-started/pure-js/arcgis
examples/get-started/pure-js/basic
examples/get-started/pure-js/mapbox
app.js
app.js
app.js
app.js
app.js
app.js
app.js
32:43 (21%)
30:41 (22%)
65:76 (14%)
45:56 (16%)
12:23 (24%)
33:44 (19%)
46:57 (16%)
view
8 x 7 website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
scatterplot-data-decoder.js
highway-accidents-decoder.js
earthquakes-decoder.js
building-data-decoder.js
meteorites-decoder.js
hashtags-decoder.js
flight-path-data-decoder.js
39:49 (13%)
34:44 (23%)
33:43 (22%)
33:43 (24%)
30:40 (25%)
23:33 (30%)
40:50 (20%)
view
11 x 7 examples/get-started/pure-js/google-maps
examples/get-started/react/mapbox
examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/globe
examples/get-started/pure-js/arcgis
examples/get-started/pure-js/basic
examples/get-started/pure-js/mapbox
app.js
app.js
app.js
app.js
app.js
app.js
app.js
47:58 (23%)
43:54 (24%)
80:91 (15%)
60:71 (18%)
27:38 (26%)
48:59 (21%)
61:72 (18%)
view
9 x 6 website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
building-data-decoder.js
earthquakes-decoder.js
meteorites-decoder.js
hashtags-decoder.js
scatterplot-data-decoder.js
flight-path-data-decoder.js
33:44 (27%)
33:44 (25%)
30:41 (28%)
23:34 (34%)
39:50 (15%)
40:51 (22%)
view
6 x 6 website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
website/static/workers
highway-accidents-decoder.js
geojson-data-decoder.js
hashtags-decoder.js
highway-roads-decoder.js
building-data-decoder.js
arc-data-decoder.js
6:14 (17%)
6:14 (50%)
4:12 (23%)
8:16 (37%)
7:14 (18%)
6:14 (10%)
view
9 x 6 examples/website/data-filter
examples/website/line
examples/website/geojson
examples/website/scenegraph
examples/website/brushing
examples/website/3d-heatmap
app.js
app.js
app.js
app.js
app.js
app.js
118:126 (8%)
93:101 (11%)
109:117 (9%)
138:146 (7%)
181:189 (6%)
109:117 (9%)
view
11 x 6 examples/website/geojson
examples/website/data-filter
examples/website/arc
examples/website/3d-heatmap
examples/website/brushing
examples/website/scenegraph
app.js
app.js
app.js
app.js
app.js
app.js
107:117 (11%)
116:126 (9%)
109:119 (11%)
107:117 (11%)
179:189 (7%)
136:146 (9%)
view
11 x 6 examples/website/tagmap
examples/website/line
examples/website/arc
examples/website/3d-heatmap
examples/website/brushing
examples/website/scenegraph
app.js
app.js
app.js
app.js
app.js
app.js
58:70 (20%)
94:106 (13%)
112:124 (11%)
110:122 (11%)
182:194 (7%)
139:151 (9%)
view
25 x 6 examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/globe
examples/get-started/pure-js/basic
examples/get-started/pure-js/google-maps
examples/get-started/pure-js/arcgis
examples/get-started/pure-js/mapbox
app.js
app.js
app.js
app.js
app.js
app.js
65:93 (36%)
45:73 (40%)
33:61 (49%)
32:60 (53%)
12:40 (60%)
46:74 (42%)
view
9 x 5 examples/get-started/pure-js/mapbox
examples/get-started/react/basic
examples/get-started/pure-js/harp.gl
examples/get-started/pure-js/basic
examples/get-started/react/mapbox
app.js
app.js
app.js
app.js
app.js
6:15 (15%)
8:17 (16%)
12:21 (13%)
7:16 (17%)
10:19 (20%)
view
8 x 5 examples/experimental/be.../src/bezier-curve-layer
modules/layers/src/scatterplot-layer
modules/layers/src/line-layer
modules/layers/src/arc-layer
modules/layers/src/point-cloud-layer
bezier-curve-layer.js
scatterplot-layer.js
line-layer.js
arc-layer.js
point-cloud-layer.js
71:83 (9%)
98:108 (6%)
80:92 (9%)
106:118 (7%)
94:105 (8%)
view
10 x 5 examples/website/geojson
examples/website/heatmap
examples/website/screen-grid
examples/website/scatterplot
examples/website/trips
app.js
app.js
app.js
app.js
app.js
111:122 (10%)
43:54 (23%)
71:82 (15%)
49:60 (22%)
127:138 (9%)
view
13 x 5 examples/website/geojson
examples/website/scenegraph
examples/website/arc
examples/website/3d-heatmap
examples/website/brushing
app.js
app.js
app.js
app.js
app.js
107:121 (13%)
136:150 (11%)
109:123 (13%)
107:121 (13%)
179:193 (8%)
view
12 x 5 examples/website/line
examples/website/3d-heatmap
examples/website/brushing
examples/website/scenegraph
examples/website/arc
app.js
app.js
app.js
app.js
app.js
93:106 (14%)
109:122 (12%)
181:194 (8%)
138:151 (10%)
111:124 (12%)
view