aws-samples / build-a-360-degree-customer-view-with-aws
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
  • 79% duplication:
    • 1,005 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 796 duplicated lines
  • 17 duplicates
system79% (796 lines)
Duplication per Extension
py71% (519 lines)
q97% (277 lines)
Duplication per Component (primary)
library100% (329 lines)
dynamodb_emr96% (226 lines)
gluejobs100% (182 lines)
lambda/lambda-mf-csv-generator57% (59 lines)
lambda/lambda-crm-generator-consumer0% (0 lines)
lambda/lambda-pg-generator0% (0 lines)
lambda/lambda-getgatables0% (0 lines)

Duplication Between Components (50+ lines)

G dynamodb_emr dynamodb_emr library library dynamodb_emr--library 373 gluejobs gluejobs gluejobs--library 364

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 17 longest duplicates.
See data for all 17 duplicates...
Size#FoldersFilesLinesCode
140 x 2 gluejobs
library
n1_c360_dispositions.py
n1_c360_dispositions.py
14:228 (100%)
14:228 (100%)
view
99 x 2 dynamodb_emr
library
q
c360dynamodbload.q
c360dynamodbload.q
1:99 (100%)
1:99 (100%)
view
48 x 2 dynamodb_emr
library
c360_analytics.py
c360_analytics.py
10:67 (100%)
10:67 (100%)
view
42 x 2 gluejobs
library
cust360_etl_mf_trans.py
cust360_etl_mf_trans.py
13:85 (100%)
13:85 (100%)
view
40 x 2 dynamodb_emr
dynamodb_emr
q
c360dynamodbload.q
dup.q
1:40 (40%)
1:40 (46%)
view
40 x 2 dynamodb_emr
library
q
dup.q
c360dynamodbload.q
1:40 (46%)
1:40 (40%)
view
33 x 2 dynamodb_emr
dynamodb_emr
q
c360dynamodbload.q
dup.q
51:83 (33%)
49:81 (38%)
view
33 x 2 dynamodb_emr
library
q
dup.q
c360dynamodbload.q
49:81 (38%)
51:83 (33%)
view
9 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
account.py
gbank.py
40:48 (25%)
37:45 (27%)
view
8 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
account.py
gbank.py
28:38 (22%)
25:35 (24%)
view
7 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
card.py
gbank.py
41:47 (20%)
39:45 (21%)
view
7 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
account.py
card.py
42:48 (20%)
41:47 (20%)
view
6 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
account.py
card.py
28:36 (17%)
28:36 (17%)
view
6 x 2 dynamodb_emr
library
q
dup.q
c360dynamodbload.q
42:47 (6%)
44:49 (6%)
view
6 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
account.py
gbank.py
13:19 (17%)
13:19 (18%)
view
6 x 2 lambda/lambda-mf-csv-generator
lambda/lambda-mf-csv-generator
card.py
gbank.py
28:36 (17%)
25:33 (18%)
view
6 x 2 dynamodb_emr
dynamodb_emr
q
c360dynamodbload.q
dup.q
44:49 (6%)
42:47 (6%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
28 x 2 library
gluejobs
n1_c360_dispositions.py
n1_c360_dispositions.py
0:0 
0:0 
view
7 x 2 library
gluejobs
n1_c360_dispositions.py
n1_c360_dispositions.py
0:0 
0:0 
view
6 x 2 library
gluejobs
n1_c360_dispositions.py
n1_c360_dispositions.py
0:0 
0:0 
view
7 x 2 library
gluejobs
n1_c360_dispositions.py
n1_c360_dispositions.py
0:0 
0:0 
view