awslabs / amazon-s3-find-and-forget
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:
    • 11,374 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,745 duplicated lines
  • 220 duplicates
system15% (1,745 lines)
Duplication per Extension
yaml24% (879 lines)
js12% (444 lines)
yml40% (357 lines)
py2% (65 lines)
Duplication per Component (primary)
templates27% (1,236 lines)
frontend/src/components14% (435 lines)
backend/lambdas/custom_resources19% (18 lines)
backend/lambdas/jobs2% (12 lines)
backend/ecs_tasks/delete_files1% (12 lines)
frontend/src/utils1% (9 lines)
backend/lambdas/tasks1% (9 lines)
backend/lambdas/queue4% (7 lines)
backend/lambdas/data_mappers4% (7 lines)
ci0% (0 lines)
ROOT0% (0 lines)
frontend/src0% (0 lines)
frontend/public0% (0 lines)
backend/lambdas/settings0% (0 lines)
backend/lambda_layers/aws_sdk0% (0 lines)
backend/lambda_layers/cr_helper0% (0 lines)
backend/lambda_layers/boto_utils0% (0 lines)
backend/lambda_layers/decorators0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 220 duplicates...
Size#FoldersFilesLinesCode
45 x 2 templates
templates
ddb.yaml
ddb.yaml
122:166 (19%)
173:217 (19%)
view
36 x 2 templates
templates
api.definition.yml
api.definition.yml
645:680 (4%)
743:778 (4%)
view
28 x 2 templates
templates
api.definition.yml
api.definition.yml
617:644 (3%)
697:724 (3%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobs.js
NewDataMapper.js
34:53 (44%)
57:76 (28%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobDetails.js
DeletionJobs.js
43:62 (37%)
34:53 (44%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobs.js
DeletionQueue.js
34:53 (44%)
36:55 (42%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionQueue.js
NewDataMapper.js
36:55 (42%)
57:76 (28%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobDetails.js
DeletionQueue.js
43:62 (37%)
36:55 (42%)
view
20 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobDetails.js
NewDataMapper.js
43:62 (37%)
57:76 (28%)
view
19 x 2 frontend/src/components/help
frontend/src/components/help
DataMappers.js
NewDeletionQueueMatch.js
40:58 (39%)
46:64 (33%)
view
19 x 2 frontend/src/components/help
frontend/src/components/help
Dashboard.js
NewDeletionQueueMatch.js
40:58 (41%)
46:64 (33%)
view
19 x 2 frontend/src/components/help
frontend/src/components/help
Dashboard.js
DataMappers.js
40:58 (41%)
40:58 (39%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
DataMappers.js
DeletionQueue.js
40:57 (37%)
36:53 (38%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
NewDataMapper.js
NewDeletionQueueMatch.js
57:74 (26%)
46:63 (32%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobDetails.js
NewDeletionQueueMatch.js
43:60 (33%)
46:63 (32%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
DeletionJobs.js
NewDeletionQueueMatch.js
34:51 (40%)
46:63 (32%)
view
18 x 2 templates
templates
ddb.yaml
ddb.yaml
30:47 (7%)
54:71 (7%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
DataMappers.js
NewDataMapper.js
40:57 (37%)
57:74 (26%)
view
18 x 2 frontend/src/components/help
frontend/src/components/help
DataMappers.js
DeletionJobs.js
40:57 (37%)
34:51 (40%)
view
18 x 2 templates
templates
api.definition.yml
api.definition.yml
725:742 (2%)
829:846 (2%)
view