aws-solutions / smart-product-solution
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
  • 21% duplication:
    • 16,084 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,419 duplicated lines
  • 690 duplicates
system21% (3,419 lines)
Duplication per Extension
jsx31% (1,274 lines)
js28% (1,213 lines)
css12% (401 lines)
scss10% (301 lines)
ts14% (230 lines)
Duplication per Component (primary)
source/console/src19% (1,976 lines)
source/services/api41% (836 lines)
deployment/custom-deployment/lib14% (230 lines)
source/resources/cicd35% (104 lines)
source/resources/helper8% (66 lines)
source/services/notification30% (62 lines)
source/services/event-proxy33% (47 lines)
source/resources/authorizer16% (39 lines)
source/services/command-status32% (31 lines)
source/services/jitr9% (21 lines)
source/services/telemetry23% (7 lines)
source/console/public0% (0 lines)
source/resources/cognito0% (0 lines)
source/resources/logger0% (0 lines)
source/resources/utils0% (0 lines)
source/resources/usage-metrics0% (0 lines)
deployment/manifest-generator0% (0 lines)

Duplication Between Components (50+ lines)

G source/services/api source/services/api source/services/notification source/services/notification source/services/api--source/services/notification 173 source/services/event-proxy source/services/event-proxy source/services/api--source/services/event-proxy 134 source/services/jitr source/services/jitr source/services/api--source/services/jitr 86 source/services/command-status source/services/command-status source/services/command-status--source/services/event-proxy 62

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 690 duplicates...
Size#FoldersFilesLinesCode
99 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
History.jsx
390:527 (22%)
406:543 (21%)
view
52 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
DeviceDetail.jsx
448:516 (11%)
1359:1427 (4%)
view
52 x 2 source/console/src/views
source/console/src/views
DeviceDetail.jsx
History.jsx
1359:1427 (4%)
464:532 (11%)
view
38 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
History.jsx
337:383 (8%)
353:399 (8%)
view
36 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
History.jsx
192:230 (8%)
201:239 (7%)
view
35 x 2 source/console/src/views
source/console/src/views
DeviceDetail.jsx
History.jsx
320:357 (2%)
199:236 (7%)
view
34 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
DeviceDetail.jsx
192:227 (7%)
322:357 (2%)
view
34 x 2 source/resources/cicd
source/resources/cicd
index.js
index.js
202:240 (11%)
253:291 (11%)
view
31 x 2 source/console/src/views
source/console/src/views
Alerts.jsx
History.jsx
99:131 (7%)
103:135 (6%)
view
30 x 2 source/services/api/admin/lib
source/services/api/device/lib
app.js
app.js
26:60 (43%)
26:60 (35%)
view
30 x 2 source/services/api/event/lib
source/services/api/registration/lib
app.js
app.js
26:60 (22%)
26:60 (44%)
view
30 x 2 source/services/api/device/lib
source/services/api/status/lib
app.js
app.js
26:60 (35%)
26:60 (56%)
view
30 x 2 source/services/api/admin/lib
source/services/api/status/lib
app.js
app.js
26:60 (43%)
26:60 (56%)
view
30 x 2 source/services/api/device/lib
source/services/api/event/lib
app.js
app.js
26:60 (35%)
26:60 (22%)
view
30 x 2 source/services/api/event/lib
source/services/api/status/lib
app.js
app.js
26:60 (22%)
26:60 (56%)
view
30 x 2 source/services/api/registration/lib
source/services/api/status/lib
app.js
app.js
26:60 (44%)
26:60 (56%)
view
30 x 2 source/services/api/device/lib
source/services/api/registration/lib
app.js
app.js
26:60 (35%)
26:60 (44%)
view
30 x 2 source/services/api/admin/lib
source/services/api/registration/lib
app.js
app.js
26:60 (43%)
26:60 (44%)
view
30 x 2 source/services/api/admin/lib
source/services/api/event/lib
app.js
app.js
26:60 (43%)
26:60 (22%)
view
27 x 2 source/services/api/event/lib
source/services/api/status/lib
event.js
status.js
259:294 (5%)
126:162 (27%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
28 x 3 source/services/api/status/lib
source/services/api/event/lib
source/services/api/command/lib
status.js
event.js
command.js
135:164 
268:296 
469:498 
view
11 x 2 source/services/command-status
source/services/event-proxy
index.js
index.js
24:36 
24:36 
view
8 x 2 source/resources/cicd
source/resources/cicd
index.js
index.js
206:215 
257:266 
view
7 x 2 source/services/api/event/lib
source/services/api/command/lib
event.js
command.js
36:43 
38:45 
view
6 x 9 source/resources/helper/lib
source/services/api/registration/lib
source/services/api/status/lib
source/services/api/admin/lib
source/services/api/device/lib
source/services/notification/lib
source/services/command-status/lib
source/services/event-proxy/lib
source/services/jitr/lib
dynamodb-helper.js
registration.js
status.js
admin.js
device.js
alert.js
message.js
message.js
jitrHelper.js
35:41 
36:42 
34:40 
35:41 
35:41 
34:40 
34:40 
36:42 
38:44 
view
6 x 2 source/resources/cicd
source/resources/cicd
index.js
index.js
219:226 
270:277 
view