aws-samples / amazon-sagemaker-edge-manager-workshop
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
  • 37% duplication:
    • 2,843 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,076 duplicated lines
  • 138 duplicates
system37% (1,076 lines)
Duplication per Extension
py47% (898 lines)
yml18% (178 lines)
Duplication per Component (primary)
lab/03-Package-Deploy/iot-jobs/app49% (371 lines)
lab/03-Package-Deploy/greengrass-v2/artifacts/aws.samples.windturbine.detector/1.0.0/inference62% (324 lines)
setup16% (178 lines)
lab/02-Training43% (77 lines)
lab/01-Data-Visualization100% (77 lines)
lab/simulator23% (49 lines)
ROOT0% (0 lines)
lab/03-Package-Deploy/greengrass-v2/artifacts/aws.samples.windturbine.detector/1.0.00% (0 lines)

Duplication Between Components (50+ lines)

G lab/03-Package-Deploy/greengrass-v2/artifacts/aws.samples.windturbine.detector/1.0.0/inference lab/03-Package-Deploy/greengrass-v2/artifacts/aws.samples.windturbine.detector/1.0.0/inference lab/03-Package-Deploy/iot-jobs/app lab/03-Package-Deploy/iot-jobs/app lab/03-Package-Deploy/greengrass-v2/artifacts/aws.samples.windturbine.detector/1.0.0/inference--lab/03-Package-Deploy/iot-jobs/app 644 lab/simulator lab/simulator lab/03-Package-Deploy/iot-jobs/app--lab/simulator 98 lab/01-Data-Visualization lab/01-Data-Visualization lab/02-Training lab/02-Training lab/01-Data-Visualization--lab/02-Training 154

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 138 duplicates...
Size#FoldersFilesLinesCode
220 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
8:345 (100%)
8:345 (100%)
view
80 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
11:125 (100%)
11:125 (100%)
view
77 x 2 lab/01-Data-Visualization
lab/02-Training
preprocessing.py
preprocessing.py
6:135 (100%)
6:135 (100%)
view
20 x 2 lab/03-Package-Deploy/iot-jobs/app
lab/simulator
turbine.py
turbine.py
27:49 (25%)
36:58 (17%)
view
13 x 2 lab/01-Data-Visualization
lab/03-Package-Deploy/gr...etector/1.0.0/inference
preprocessing.py
util.py
31:53 (16%)
11:34 (43%)
view
13 x 2 lab/02-Training
lab/03-Package-Deploy/gr...etector/1.0.0/inference
preprocessing.py
util.py
31:53 (16%)
11:34 (43%)
view
11 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
util.py
windfarm.py
35:49 (36%)
97:111 (8%)
view
11 x 2 lab/01-Data-Visualization
lab/03-Package-Deploy/iot-jobs/app
preprocessing.py
windfarm.py
38:51 (14%)
81:94 (8%)
view
11 x 2 lab/02-Training
lab/03-Package-Deploy/iot-jobs/app
preprocessing.py
windfarm.py
38:51 (14%)
81:94 (8%)
view
11 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
util.py
windfarm.py
18:31 (36%)
81:94 (8%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
353:370 (2%)
563:580 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
423:440 (2%)
563:580 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
283:300 (2%)
423:440 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
283:300 (2%)
353:370 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
423:440 (2%)
493:510 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
353:370 (2%)
423:440 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
283:300 (2%)
563:580 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
283:300 (2%)
493:510 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
493:510 (2%)
563:580 (2%)
view
10 x 2 setup
setup
greengrass_edge_devices_ec2.yml
greengrass_edge_devices_ec2.yml
353:370 (2%)
493:510 (2%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 28 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
39 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
31 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
14 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
agent_pb2_grpc.py
agent_pb2_grpc.py
0:0 
0:0 
view
13 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
0:0 
0:0 
view
17 x 4 lab/02-Training
lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
lab/01-Data-Visualization
preprocessing.py
util.py
windfarm.py
preprocessing.py
0:0 
0:0 
0:0 
0:0 
view
12 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
0:0 
0:0 
view
11 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
util.py
windfarm.py
0:0 
0:0 
view
10 x 2 lab/02-Training
lab/01-Data-Visualization
preprocessing.py
preprocessing.py
0:0 
0:0 
view
9 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
0:0 
0:0 
view
8 x 2 lab/03-Package-Deploy/gr...etector/1.0.0/inference
lab/03-Package-Deploy/iot-jobs/app
edgeagentclient.py
edgeagentclient.py
0:0 
0:0 
view
7 x 2 lab/simulator
lab/03-Package-Deploy/iot-jobs/app
turbine.py
turbine.py
0:0 
0:0 
view
6 x 2 lab/simulator
lab/03-Package-Deploy/iot-jobs/app
turbine.py
turbine.py
0:0 
0:0 
view
10 x 2 lab/02-Training
lab/01-Data-Visualization
preprocessing.py
preprocessing.py
0:0 
0:0 
view