aws-samples / aws-iot-core-lorawan
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
  • 42% duplication:
    • 5,631 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,378 duplicated lines
  • 356 duplicates
system42% (2,378 lines)
Duplication per Extension
py35% (1,190 lines)
yaml65% (1,176 lines)
js2% (12 lines)
Duplication per Component (primary)
transform_binary_payload25% (628 lines)
workshop69% (295 lines)
soilmoisture_alarming64% (278 lines)
timestream79% (275 lines)
timestream_for_transform_binary_payload92% (246 lines)
gateway_watchdog41% (189 lines)
iotthingshadow52% (184 lines)
device_watchdog42% (122 lines)
transform_binary_payload_pilot_things44% (117 lines)
send_downlink_payload19% (32 lines)
cayenneLPPDecoder8% (12 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G timestream timestream timestream_for_transform_binary_payload timestream_for_transform_binary_payload timestream--timestream_for_transform_binary_payload 497 transform_binary_payload transform_binary_payload timestream--transform_binary_payload 82 workshop workshop timestream--workshop 123 transform_binary_payload_pilot_things transform_binary_payload_pilot_things timestream--transform_binary_payload_pilot_things 62 timestream_for_transform_binary_payload--transform_binary_payload 97 timestream_for_transform_binary_payload--workshop 120 timestream_for_transform_binary_payload--transform_binary_payload_pilot_things 80 transform_binary_payload--workshop 268 transform_binary_payload--transform_binary_payload_pilot_things 174 device_watchdog device_watchdog gateway_watchdog gateway_watchdog device_watchdog--gateway_watchdog 259 iotthingshadow iotthingshadow iotthingshadow--timestream 137 iotthingshadow--timestream_for_transform_binary_payload 99 iotthingshadow--transform_binary_payload 211 iotthingshadow--workshop 157 iotthingshadow--transform_binary_payload_pilot_things 105 send_downlink_payload send_downlink_payload iotthingshadow--send_downlink_payload 93 soilmoisture_alarming soilmoisture_alarming iotthingshadow--soilmoisture_alarming 76 transform_binary_payload_pilot_things--workshop 116 send_downlink_payload--timestream 62 send_downlink_payload--timestream_for_transform_binary_payload 62 send_downlink_payload--transform_binary_payload 70 send_downlink_payload--workshop 110 send_downlink_payload--transform_binary_payload_pilot_things 70 send_downlink_payload--soilmoisture_alarming 53 soilmoisture_alarming--timestream 63 soilmoisture_alarming--timestream_for_transform_binary_payload 63 soilmoisture_alarming--transform_binary_payload 53 soilmoisture_alarming--workshop 99 soilmoisture_alarming--transform_binary_payload_pilot_things 53

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 356 duplicates...
Size#FoldersFilesLinesCode
62 x 2 workshop/binarydecoder/src
workshop/sampledecoder/src
dragino_lht65.py
dragino_lht65.py
21:105 (100%)
21:105 (100%)
view
59 x 2 workshop/binarydecoder
workshop/sampledecoder
template.yaml
template.yaml
57:118 (56%)
57:118 (56%)
view
49 x 2 timestream/src-lambda-write-to-timestream
timestream_for_transform...bda-write-to-timestream
app.py
app.py
146:214 (62%)
160:228 (56%)
view
46 x 2 timestream
timestream_for_transform_binary_payload
template.yaml
template.yaml
135:183 (22%)
111:159 (25%)
view
44 x 2 timestream
timestream_for_transform_binary_payload
template.yaml
template.yaml
20:66 (21%)
25:71 (24%)
view
38 x 2 timestream
timestream_for_transform_binary_payload
template.yaml
template.yaml
186:230 (18%)
162:204 (21%)
view
33 x 2 transform_binary_payload
transform_binary_payload_pilot_things
template.yaml
template.yaml
203:236 (15%)
189:222 (16%)
view
29 x 2 iotthingshadow
transform_binary_payload
template.yaml
template.yaml
150:178 (11%)
203:231 (13%)
view
29 x 2 iotthingshadow
transform_binary_payload_pilot_things
template.yaml
template.yaml
150:178 (11%)
189:217 (14%)
view
28 x 2 timestream
workshop/binarydecoder
template.yaml
template.yaml
157:184 (13%)
71:98 (26%)
view
28 x 2 timestream
workshop/sampledecoder
template.yaml
template.yaml
157:184 (13%)
71:98 (26%)
view
27 x 2 timestream_for_transform_binary_payload
workshop/sampledecoder
template.yaml
template.yaml
133:159 (15%)
71:97 (25%)
view
27 x 2 timestream_for_transform_binary_payload
workshop/binarydecoder
template.yaml
template.yaml
133:159 (15%)
71:97 (25%)
view
27 x 2 transform_binary_payload...payload-decoders/python
workshop/sampledecoder/src
dragino_lht65.py
dragino_lht65.py
90:119 (43%)
73:102 (43%)
view
27 x 2 transform_binary_payload...payload-decoders/python
workshop/binarydecoder/src
dragino_lht65.py
dragino_lht65.py
90:119 (43%)
73:102 (43%)
view
26 x 2 send_downlink_payload
transform_binary_payload_pilot_things
template.yaml
template.yaml
86:111 (24%)
189:214 (13%)
view
26 x 2 transform_binary_payload_pilot_things
workshop/binarydecoder
template.yaml
template.yaml
189:214 (13%)
71:96 (25%)
view
26 x 2 send_downlink_payload
workshop/binarydecoder
template.yaml
template.yaml
86:111 (24%)
71:96 (25%)
view
26 x 2 transform_binary_payload_pilot_things
workshop/sampledecoder
template.yaml
template.yaml
189:214 (13%)
71:96 (25%)
view
26 x 2 iotthingshadow
workshop/sampledecoder
template.yaml
template.yaml
150:175 (10%)
71:96 (25%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
39 x 2 workshop/binarydecoder/src
workshop/sampledecoder/src
dragino_lht65.py
dragino_lht65.py
0:0 
0:0 
view
7 x 3 timestream/src-lambda-transform
timestream/src-lambda-write-to-timestream
timestream_for_transform...bda-write-to-timestream
app.py
app.py
app.py
0:0 
0:0 
0:0 
view