aws-samples / aws-iot-twinmaker-samples
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
  • 15% duplication:
    • 3,363 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 512 duplicated lines
  • 34 duplicates
system15% (512 lines)
Duplication per Extension
py15% (438 lines)
ts10% (46 lines)
js100% (28 lines)
Duplication per Component (primary)
modules/s337% (117 lines)
libs/deploy_utils15% (103 lines)
modules/sitewise11% (88 lines)
modules/grafana45% (61 lines)
modules/snowflake33% (53 lines)
modules/timestream_telemetry17% (46 lines)
modules/insights5% (31 lines)
workspaces/cookiefactory7% (13 lines)
libs/connector_utils0% (0 lines)
libs/udq_helper_utils0% (0 lines)

Duplication Between Components (50+ lines)

G modules/s3 modules/s3 modules/snowflake modules/snowflake modules/s3--modules/snowflake 116

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 34 duplicates...
Size#FoldersFilesLinesCode
24 x 2 src/modules/grafana
src/modules/grafana
cleanup_grafana_dashboard_role.py
create_grafana_dashboard_role.py
10:38 (42%)
10:38 (30%)
view
23 x 2 src/libs/deploy_utils
src/libs/deploy_utils
VideoUtils.py
VideoUtils.py
457:479 (4%)
537:559 (4%)
view
20 x 2 src/modules/sitewise
src/modules/sitewise/sync-connector-lambda
migration.py
exporter.py
10:29 (51%)
30:49 (17%)
view
16 x 2 src/modules/s3/deploy-utils
src/modules/s3/deploy-utils
patch_document_content.py
patch_s3_document_content.py
70:87 (26%)
67:84 (28%)
view
13 x 2 src/libs/deploy_utils
src/modules/grafana
WorkspaceUtils.py
cleanup_grafana_dashboard_role.py
127:141 (6%)
62:76 (22%)
view
13 x 2 src/modules/sitewise/lib
src/workspaces/cookiefactory/setup_cloud_resources
patch_sitewise_content.py
create_iottwinmaker_workspace_role.py
14:28 (17%)
9:23 (27%)
view
13 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
create_s3_document_connector.py
create_snowflake_connector.py
35:51 (16%)
43:59 (11%)
view
12 x 2 src/modules/insights
src/modules/sitewise/lib
install_insights_module.py
patch_sitewise_content.py
72:83 (7%)
61:72 (16%)
view
10 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
patch_document_content.py
patch_snowflake_content.py
70:80 (16%)
54:64 (20%)
view
10 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
patch_s3_document_content.py
patch_snowflake_content.py
67:77 (17%)
54:64 (20%)
view
10 x 2 src/modules/s3/deploy-utils
src/modules/s3/deploy-utils
patch_document_content.py
patch_s3_document_content.py
26:45 (16%)
27:46 (17%)
view
9 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
create_s3_document_connector.py
create_snowflake_connector.py
66:75 (11%)
77:86 (8%)
view
9 x 2 src/modules/s3/cdk/lib
src/modules/timestream_telemetry/cdk/lib
cdk-stack.ts
timestream_telemetry_lambdas-stack.ts
23:31 (36%)
43:51 (21%)
view
9 x 2 src/modules/timestream_telemetry/lambda_function
src/modules/timestream_telemetry/lambda_function
udq_data_reader.py
udq_data_reader.py
54:63 (6%)
87:96 (6%)
view
8 x 2 src/libs/deploy_utils
src/libs/deploy_utils
VideoUtils.py
VideoUtils.py
328:335 (1%)
346:353 (1%)
view
8 x 2 src/modules/sitewise/cdk/lib
src/modules/sitewise/cdk/lib
sitewise-stack.ts
sitewise-stack.ts
57:65 (12%)
70:78 (12%)
view
8 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
create_s3_document_connector.py
create_snowflake_connector.py
98:106 (10%)
133:141 (7%)
view
8 x 2 src/libs/deploy_utils
src/libs/deploy_utils
VideoUtils.py
VideoUtils.py
319:326 (1%)
337:344 (1%)
view
7 x 2 src/modules/s3/cdk
src/modules/timestream_telemetry/cdk
jest.config.js
jest.config.js
4:11 (100%)
4:11 (100%)
view
7 x 2 src/modules/grafana
src/modules/sitewise/lib
cleanup_grafana_dashboard_role.py
patch_sitewise_content.py
23:29 (12%)
22:28 (9%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
22 x 2 src/libs/deploy_utils
src/libs/deploy_utils
VideoUtils.py
VideoUtils.py
0:0 
0:0 
view
19 x 2 src/modules/sitewise/sync-connector-lambda
src/modules/sitewise
exporter.py
migration.py
0:0 
0:0 
view
14 x 2 src/modules/grafana
src/modules/grafana
create_grafana_dashboard_role.py
cleanup_grafana_dashboard_role.py
0:0 
0:0 
view
11 x 2 src/modules/s3/deploy-utils
src/modules/snowflake/deploy-utils
create_s3_document_connector.py
create_snowflake_connector.py
0:0 
0:0 
view