aws-samples / amazon-rekognition-serverless-large-scale-image-and-video-processing
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
  • 88% duplication:
    • 1,925 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,702 duplicated lines
  • 169 duplicates
system88% (1,702 lines)
Duplication per Extension
py100% (1,702 lines)
Duplication per Component (primary)
src100% (851 lines)
rekognition-pipeline/lambda/helper100% (288 lines)
rekognition-pipeline/lambda/asyncprocessor100% (214 lines)
rekognition-pipeline/lambda/syncprocessor100% (97 lines)
rekognition-pipeline/lambda/jobresultprocessor100% (83 lines)
rekognition-pipeline/lambda/itemprocessor100% (70 lines)
rekognition-pipeline/lambda/s3batchprocessor100% (46 lines)
rekognition-pipeline/lambda/s3processor100% (28 lines)
rekognition-pipeline/lambda/s3FolderCreator100% (25 lines)
rekognition-pipeline/lib0% (0 lines)

Duplication Between Components (50+ lines)

G rekognition-pipeline/lambda/helper rekognition-pipeline/lambda/helper src src rekognition-pipeline/lambda/helper--src 576 rekognition-pipeline/lambda/asyncprocessor rekognition-pipeline/lambda/asyncprocessor rekognition-pipeline/lambda/asyncprocessor--src 442 rekognition-pipeline/lambda/syncprocessor rekognition-pipeline/lambda/syncprocessor rekognition-pipeline/lambda/syncprocessor--src 208 rekognition-pipeline/lambda/jobresultprocessor rekognition-pipeline/lambda/jobresultprocessor rekognition-pipeline/lambda/jobresultprocessor--src 180 rekognition-pipeline/lambda/itemprocessor rekognition-pipeline/lambda/itemprocessor rekognition-pipeline/lambda/itemprocessor--src 140 rekognition-pipeline/lambda/s3batchprocessor rekognition-pipeline/lambda/s3batchprocessor rekognition-pipeline/lambda/s3batchprocessor--src 108 rekognition-pipeline/lambda/s3processor rekognition-pipeline/lambda/s3processor rekognition-pipeline/lambda/s3processor--src 72 rekognition-pipeline/lambda/s3FolderCreator rekognition-pipeline/lambda/s3FolderCreator rekognition-pipeline/lambda/s3FolderCreator--src 50

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 169 duplicates...
Size#FoldersFilesLinesCode
214 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
7:267 (100%)
7:267 (100%)
view
179 x 2 rekognition-pipeline/lambda/helper/python
src
helper.py
helper.py
8:228 (100%)
8:228 (100%)
view
109 x 2 rekognition-pipeline/lambda/helper/python
src
datastore.py
datastore.py
6:149 (100%)
6:149 (100%)
view
97 x 2 rekognition-pipeline/lambda/syncprocessor
src
lambda_function.py
syncproc.py
8:131 (100%)
8:131 (100%)
view
83 x 2 rekognition-pipeline/lambda/jobresultprocessor
src
lambda_function.py
jobresultsproc.py
8:122 (100%)
8:122 (100%)
view
70 x 2 rekognition-pipeline/lambda/itemprocessor
src
lambda_function.py
itemproc.py
5:103 (100%)
5:103 (100%)
view
46 x 2 rekognition-pipeline/lambda/s3batchprocessor
src
lambda_function.py
s3batchproc.py
8:73 (100%)
8:73 (100%)
view
28 x 2 rekognition-pipeline/lambda/s3processor
src
lambda_function.py
s3proc.py
8:48 (100%)
8:48 (100%)
view
25 x 2 rekognition-pipeline/lambda/s3FolderCreator
src
lambda_function.py
s3FolderCreator.py
5:39 (100%)
5:39 (100%)
view
14 x 2 rekognition-pipeline/lambda/asyncprocessor
rekognition-pipeline/lambda/asyncprocessor
lambda_function.py
lambda_function.py
15:28 (6%)
90:103 (6%)
view
14 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
15:28 (6%)
90:103 (6%)
view
14 x 2 src
src
asyncproc.py
asyncproc.py
15:28 (6%)
90:103 (6%)
view
14 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
90:103 (6%)
15:28 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
61:73 (6%)
76:88 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
rekognition-pipeline/lambda/asyncprocessor
lambda_function.py
lambda_function.py
31:43 (6%)
46:58 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
46:58 (6%)
16:28 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
61:73 (6%)
46:58 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
61:73 (6%)
31:43 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
rekognition-pipeline/lambda/asyncprocessor
lambda_function.py
lambda_function.py
31:43 (6%)
76:88 (6%)
view
13 x 2 rekognition-pipeline/lambda/asyncprocessor
rekognition-pipeline/lambda/asyncprocessor
lambda_function.py
lambda_function.py
76:88 (6%)
91:103 (6%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 37 unit duplicates...
Size#FoldersFilesLinesCode
94 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
0:0 
0:0 
view
56 x 2 rekognition-pipeline/lambda/syncprocessor
src
lambda_function.py
syncproc.py
0:0 
0:0 
view
38 x 2 rekognition-pipeline/lambda/jobresultprocessor
src
lambda_function.py
jobresultsproc.py
0:0 
0:0 
view
37 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
0:0 
0:0 
view
36 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
0:0 
0:0 
view
30 x 2 rekognition-pipeline/lambda/s3batchprocessor
src
lambda_function.py
s3batchproc.py
0:0 
0:0 
view
26 x 2 rekognition-pipeline/lambda/helper/python
src
helper.py
helper.py
0:0 
0:0 
view
27 x 2 rekognition-pipeline/lambda/jobresultprocessor
src
lambda_function.py
jobresultsproc.py
0:0 
0:0 
view
28 x 2 rekognition-pipeline/lambda/s3FolderCreator
src
lambda_function.py
s3FolderCreator.py
0:0 
0:0 
view
23 x 2 rekognition-pipeline/lambda/itemprocessor
src
lambda_function.py
itemproc.py
0:0 
0:0 
view
23 x 2 rekognition-pipeline/lambda/helper/python
src
datastore.py
datastore.py
0:0 
0:0 
view
21 x 2 rekognition-pipeline/lambda/itemprocessor
src
lambda_function.py
itemproc.py
0:0 
0:0 
view
20 x 2 rekognition-pipeline/lambda/helper/python
src
datastore.py
datastore.py
0:0 
0:0 
view
19 x 2 rekognition-pipeline/lambda/helper/python
src
datastore.py
datastore.py
0:0 
0:0 
view
19 x 2 rekognition-pipeline/lambda/helper/python
src
datastore.py
datastore.py
0:0 
0:0 
view
19 x 2 rekognition-pipeline/lambda/s3processor
src
lambda_function.py
s3proc.py
0:0 
0:0 
view
17 x 2 rekognition-pipeline/lambda/syncprocessor
src
lambda_function.py
syncproc.py
0:0 
0:0 
view
16 x 2 rekognition-pipeline/lambda/itemprocessor
src
lambda_function.py
itemproc.py
0:0 
0:0 
view
15 x 2 rekognition-pipeline/lambda/asyncprocessor
src
lambda_function.py
asyncproc.py
0:0 
0:0 
view
14 x 2 rekognition-pipeline/lambda/helper/python
src
helper.py
helper.py
0:0 
0:0 
view