aws-samples / retail-demo-store
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
  • 9% duplication:
    • 47,544 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,748 duplicated lines
  • 749 duplicates
system9% (4,748 lines)
Duplication per Extension
yaml8% (2,370 lines)
py13% (841 lines)
go30% (598 lines)
vue7% (543 lines)
js8% (176 lines)
yml73% (153 lines)
html14% (67 lines)
Duplication per Component (primary)
aws/cloudformation-templates34% (2,106 lines)
src/web-ui7% (719 lines)
src/products2% (578 lines)
src/aws-lambda13% (462 lines)
src/recommendations20% (273 lines)
src/users21% (128 lines)
src/orders48% (114 lines)
src/carts40% (96 lines)
src/search41% (76 lines)
workshop/4-Messaging14% (67 lines)
src/videos23% (53 lines)
src/offers62% (31 lines)
src/location46% (31 lines)
generators/datagenerator2% (14 lines)
ROOT0% (0 lines)
workshop/3-Experimentation0% (0 lines)
generators0% (0 lines)
videos0% (0 lines)

Duplication Between Components (50+ lines)

G src/orders src/orders src/users src/users src/orders--src/users 168 src/products src/products src/orders--src/products 132 src/carts src/carts src/carts--src/orders 132 src/carts--src/users 132 src/carts--src/products 132 src/products--src/users 132 src/recommendations src/recommendations src/videos src/videos src/recommendations--src/videos 94 src/search src/search src/recommendations--src/search 92 src/search--src/videos 92 src/location src/location src/location--src/recommendations 54 src/location--src/videos 54 src/location--src/search 58 src/offers src/offers src/location--src/offers 62 src/offers--src/recommendations 54 src/offers--src/videos 54 src/offers--src/search 58

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 749 duplicates...
Size#FoldersFilesLinesCode
48 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services/service
_template.yaml
_template.yaml
13:75 (9%)
15:77 (19%)
view
45 x 2 src/recommendations/src/...service/experimentation
src/recommendations/src/...service/experimentation
experiment_ab.py
experiment_mab.py
27:85 (72%)
28:86 (69%)
view
33 x 2 aws/cloudformation-templates/services/service
aws/cloudformation-templates/services/service
_template.yaml
service.yaml
122:164 (13%)
45:87 (8%)
view
33 x 2 aws/cloudformation-templates/services/service
aws/cloudformation-templates/services/service
pipeline.yaml
pipeline.yaml
362:394 (7%)
421:453 (7%)
view
30 x 2 aws/cloudformation-templates/services/service
aws/cloudformation-templates
pipeline.yaml
web-ui-pipeline.yaml
209:238 (7%)
293:322 (6%)
view
29 x 2 src/aws-lambda/alexa-skill-lambda
src/aws-lambda/location-geofence-event
alexa-skill-lambda.py
location-geofence-event.py
184:212 (4%)
193:221 (7%)
view
26 x 2 aws/cloudformation-templates
aws/cloudformation-templates
deployment-support.yaml
template.yaml
20:47 (4%)
198:225 (5%)
view
26 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services
_template.yaml
_template.yaml
136:161 (5%)
360:385 (5%)
view
25 x 2 aws/cloudformation-templates
aws/cloudformation-templates/services
deployment-support.yaml
pinpoint-personalize.yaml
497:521 (4%)
148:172 (13%)
view
25 x 2 aws/cloudformation-templates/services/service
aws/cloudformation-templates/services/service
_template.yaml
pipeline.yaml
88:120 (10%)
52:84 (5%)
view
24 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services
_template.yaml
_template.yaml
264:287 (4%)
328:351 (4%)
view
24 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services
_template.yaml
_template.yaml
264:287 (4%)
296:319 (4%)
view
24 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services
_template.yaml
_template.yaml
296:319 (4%)
328:351 (4%)
view
23 x 2 src/carts/src/carts-service
src/orders/src/orders-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
23 x 2 src/orders/src/orders-service
src/products/src/products-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
23 x 2 src/products/src/products-service
src/users/src/users-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
23 x 2 src/carts/src/carts-service
src/users/src/users-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
23 x 2 src/orders/src/orders-service
src/users/src/users-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
23 x 2 aws/cloudformation-templates/services
aws/cloudformation-templates/services
_template.yaml
_template.yaml
202:224 (4%)
233:255 (4%)
view
23 x 2 src/carts/src/carts-service
src/products/src/products-service
logger.go
logger.go
13:50 (100%)
13:50 (100%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
15 x 4 src/carts/src/carts-service
src/users/src/users-service
src/products/src/products-service
src/orders/src/orders-service
logger.go
logger.go
logger.go
logger.go
30:51 
30:51 
30:51 
30:51 
view
13 x 4 src/carts/src/carts-service
src/users/src/users-service
src/products/src/products-service
src/orders/src/orders-service
router.go
router.go
router.go
router.go
13:28 
13:28 
13:28 
13:28 
view
6 x 5 src/recommendations/src/recommendations-service
src/offers/src/offers-service
src/search/src/search-service
src/location/src/location-service
src/videos/src/videos-service
app.py
app.py
app.py
app.py
app.py
0:0 
0:0 
0:0 
0:0 
0:0 
view