aws-samples / amazon-quicksight-sdk-proserve
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
  • 40% duplication:
    • 11,618 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,650 duplicated lines
  • 736 duplicates
system40% (4,650 lines)
Duplication per Extension
py40% (4,502 lines)
yaml82% (136 lines)
html3% (12 lines)
Duplication per Component (primary)
Migration-scripts/cdk47% (1,958 lines)
granular_access/lambda_functions72% (1,035 lines)
Assets_as_Code/Assets_as_Code13% (512 lines)
Administrative_Dashboard/lambda_functions79% (421 lines)
Admin_Console70% (400 lines)
Dataset_Refresh_Optimizer/deployment82% (136 lines)
Administrative_Dashboard/administrative_dashboard35% (98 lines)
granular_access/granular_access19% (54 lines)
granular_access56% (18 lines)
Administrative_Dashboard56% (18 lines)
Ingest Excel data automatically into Amazon QuickSight0% (0 lines)
Dataset_Refresh_Optimizer/lambda_source0% (0 lines)
Dataset_Refresh_Optimizer0% (0 lines)
Dataset_Refresh_Optimizer/source0% (0 lines)
Dataset_Refresh_Optimizer/doc0% (0 lines)

Duplication Between Components (50+ lines)

G Administrative_Dashboard/lambda_functions Administrative_Dashboard/lambda_functions granular_access/lambda_functions granular_access/lambda_functions Administrative_Dashboard/lambda_functions--granular_access/lambda_functions 968 Migration-scripts/cdk Migration-scripts/cdk Administrative_Dashboard/lambda_functions--Migration-scripts/cdk 392 Assets_as_Code/Assets_as_Code Assets_as_Code/Assets_as_Code Administrative_Dashboard/lambda_functions--Assets_as_Code/Assets_as_Code 66 Admin_Console Admin_Console Admin_Console--Administrative_Dashboard/lambda_functions 450 Admin_Console--granular_access/lambda_functions 923 Admin_Console--Migration-scripts/cdk 566 Migration-scripts/cdk--granular_access/lambda_functions 787 Assets_as_Code/Assets_as_Code--granular_access/lambda_functions 77 Assets_as_Code/Assets_as_Code--Migration-scripts/cdk 498 Administrative_Dashboard/administrative_dashboard Administrative_Dashboard/administrative_dashboard granular_access/granular_access granular_access/granular_access Administrative_Dashboard/administrative_dashboard--granular_access/granular_access 111

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 736 duplicates...
Size#FoldersFilesLinesCode
158 x 2 Admin_Console
granular_access/lambda_f...ions/check_team_members
data_prepare.py
check_team_members.py
199:386 (51%)
178:365 (53%)
view
142 x 2 Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...ions/check_team_members
quicksight_status.py
check_team_members.py
153:310 (51%)
181:347 (48%)
view
142 x 2 Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
data_prepare.py
quicksight_status.py
202:368 (45%)
153:310 (51%)
view
124 x 2 Migration-scripts/cdk/la...on/quicksight_migration
Migration-scripts/cdk/la...on/quicksight_migration
batch_migration_lambda.py
incremental_migration_lambda.py
361:494 (22%)
476:608 (18%)
view
82 x 2 Migration-scripts/cdk/la...on/quicksight_migration
Migration-scripts/cdk/la...on/quicksight_migration
batch_migration_lambda.py
incremental_migration_lambda.py
532:623 (14%)
650:741 (12%)
view
78 x 2 granular_access/lambda_f...access_assets_govenance
granular_access/lambda_f...granular_user_govenance
granular_access_assets_govenance.py
granular_user_govenance.py
112:203 (15%)
118:209 (18%)
view
66 x 2 Migration-scripts/cdk/la...on/quicksight_migration
Migration-scripts/cdk/la...on/quicksight_migration
batch_migration_lambda.py
incremental_migration_lambda.py
211:279 (11%)
317:385 (9%)
view
61 x 2 Dataset_Refresh_Optimizer/deployment
Dataset_Refresh_Optimizer/deployment
stack.yaml
temp_stack.yaml
1:69 (100%)
1:69 (74%)
view
58 x 2 Administrative_Dashboard..._functions/data_prepare
Administrative_Dashboard...nctions/user_initiation
data_prepare.py
user_initiation.py
134:199 (28%)
93:158 (36%)
view
55 x 2 Admin_Console
granular_access/lambda_f...ions/check_team_members
Dataset_info.py
check_team_members.py
275:341 (20%)
302:365 (18%)
view
55 x 2 Admin_Console
Admin_Console
Dataset_info.py
data_prepare.py
275:341 (20%)
323:386 (17%)
view
55 x 2 Migration-scripts/cdk/la...on/quicksight_migration
Migration-scripts/cdk/la...on/quicksight_migration
batch_migration_lambda.py
incremental_migration_lambda.py
288:343 (9%)
394:450 (8%)
view
51 x 2 Assets_as_Code/Assets_as_Code/src
Migration-scripts/cdk/la...on/quicksight_migration
functions.py
quicksight_utils.py
228:295 (4%)
617:683 (4%)
view
49 x 2 Administrative_Dashboard...nctions/user_initiation
granular_access/lambda_functions/user_init
user_initiation.py
user_init.py
63:120 (31%)
62:120 (43%)
view
41 x 2 Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
Dataset_info.py
quicksight_status.py
275:323 (15%)
266:310 (14%)
view
37 x 2 Administrative_Dashboard..._functions/data_prepare
Administrative_Dashboard...nctions/user_initiation
data_prepare.py
user_initiation.py
208:252 (18%)
156:200 (23%)
view
37 x 2 granular_access/lambda_f...access_assets_govenance
granular_access/lambda_f...granular_user_govenance
granular_access_assets_govenance.py
granular_user_govenance.py
221:265 (7%)
234:278 (8%)
view
34 x 2 Admin_Console
Administrative_Dashboard...nctions/user_initiation
Dataset_info.py
user_initiation.py
302:341 (12%)
161:200 (21%)
view
34 x 2 Administrative_Dashboard..._functions/data_prepare
granular_access/lambda_f...ions/check_team_members
data_prepare.py
check_team_members.py
213:252 (16%)
326:365 (11%)
view
34 x 2 Admin_Console
Administrative_Dashboard...nctions/user_initiation
data_prepare.py
user_initiation.py
347:386 (11%)
161:200 (21%)
view
Duplicated Units
The list of top 17 duplicated units.
See data for all 17 unit duplicates...
Size#FoldersFilesLinesCode
27 x 2 granular_access/lambda_f...granular_user_govenance
granular_access/lambda_f...access_assets_govenance
granular_user_govenance.py
granular_access_assets_govenance.py
0:0 
0:0 
view
15 x 10 Administrative_Dashboard...nctions/user_initiation
Administrative_Dashboard..._functions/data_prepare
Admin_Console
Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...granular_user_govenance
granular_access/lambda_functions/user_init
granular_access/lambda_f...access_assets_govenance
granular_access/lambda_functions/downgrade_user
granular_access/lambda_f...ions/check_team_members
user_initiation.py
data_prepare.py
Dataset_info.py
data_prepare.py
quicksight_status.py
granular_user_govenance.py
user_init.py
granular_access_assets_govenance.py
downgrade_user.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
8 x 2 Assets_as_Code/Assets_as...1.18.59/boto3/resources
Assets_as_Code/Assets_as...1.18.59/boto3/resources
collection.py
collection.py
0:0 
0:0 
view
8 x 3 Administrative_Dashboard...nctions/user_initiation
granular_access/lambda_functions/user_init
granular_access/lambda_f...access_assets_govenance
user_initiation.py
user_init.py
granular_access_assets_govenance.py
0:0 
0:0 
0:0 
view
8 x 2 Administrative_Dashboard..._functions/data_prepare
granular_access/lambda_f...access_assets_govenance
data_prepare.py
granular_access_assets_govenance.py
0:0 
0:0 
view
8 x 5 Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...granular_user_govenance
granular_access/lambda_functions/downgrade_user
granular_access/lambda_f...ions/check_team_members
data_prepare.py
quicksight_status.py
granular_user_govenance.py
downgrade_user.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
7 x 4 Administrative_Dashboard...nctions/user_initiation
granular_access/lambda_f...granular_user_govenance
granular_access/lambda_functions/user_init
granular_access/lambda_f...access_assets_govenance
user_initiation.py
granular_user_govenance.py
user_init.py
granular_access_assets_govenance.py
0:0 
0:0 
0:0 
0:0 
view
7 x 3 Administrative_Dashboard...nctions/user_initiation
granular_access/lambda_functions/user_init
granular_access/lambda_f...access_assets_govenance
user_initiation.py
user_init.py
granular_access_assets_govenance.py
0:0 
0:0 
0:0 
view
7 x 3 Administrative_Dashboard...nctions/user_initiation
granular_access/lambda_functions/user_init
granular_access/lambda_f...access_assets_govenance
user_initiation.py
user_init.py
granular_access_assets_govenance.py
0:0 
0:0 
0:0 
view
7 x 3 Administrative_Dashboard...nctions/user_initiation
Administrative_Dashboard..._functions/data_prepare
granular_access/lambda_functions/user_init
user_initiation.py
data_prepare.py
user_init.py
0:0 
0:0 
0:0 
view
7 x 6 Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...granular_user_govenance
granular_access/lambda_f...access_assets_govenance
granular_access/lambda_functions/downgrade_user
granular_access/lambda_f...ions/check_team_members
data_prepare.py
quicksight_status.py
granular_user_govenance.py
granular_access_assets_govenance.py
downgrade_user.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
7 x 2 granular_access/lambda_f...granular_user_govenance
granular_access/lambda_functions/downgrade_user
granular_user_govenance.py
downgrade_user.py
0:0 
0:0 
view
6 x 6 Administrative_Dashboard...nctions/user_initiation
Administrative_Dashboard..._functions/data_prepare
Admin_Console
Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...ions/check_team_members
user_initiation.py
data_prepare.py
Dataset_info.py
data_prepare.py
quicksight_status.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 7 Administrative_Dashboard...nctions/user_initiation
Administrative_Dashboard..._functions/data_prepare
Admin_Console
Admin_Console
granular_access/lambda_f...granular_user_govenance
granular_access/lambda_f...access_assets_govenance
granular_access/lambda_f...ions/check_team_members
user_initiation.py
data_prepare.py
Dataset_info.py
data_prepare.py
granular_user_govenance.py
granular_access_assets_govenance.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 5 Administrative_Dashboard...nctions/user_initiation
Administrative_Dashboard..._functions/data_prepare
Admin_Console
Admin_Console
granular_access/lambda_f...ions/check_team_members
user_initiation.py
data_prepare.py
Dataset_info.py
data_prepare.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 4 Admin_Console
Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...ions/check_team_members
Dataset_info.py
data_prepare.py
quicksight_status.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
view
6 x 4 Admin_Console
Admin_Console
Migration-scripts/cdk/lambda/quicksight_status
granular_access/lambda_f...ions/check_team_members
Dataset_info.py
data_prepare.py
quicksight_status.py
check_team_members.py
0:0 
0:0 
0:0 
0:0 
view