aws-samples / snowball-uploader
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
  • 93% duplication:
    • 1,610 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,498 duplicated lines
  • 97 duplicates
system93% (1,498 lines)
Duplication per Extension
py93% (1,498 lines)
Duplication per Component (primary)
ROOT92% (451 lines)
old92% (418 lines)
sandbox95% (231 lines)
s3_diver100% (199 lines)
diver100% (199 lines)
validator0% (0 lines)

Duplication Between Components (50+ lines)

G old old ROOT ROOT old--ROOT 847 sandbox sandbox old--sandbox 629 s3_diver s3_diver old--s3_diver 412 sandbox--ROOT 650 s3_diver--ROOT 491 s3_diver--sandbox 302 diver diver diver--old 412 diver--ROOT 491 diver--sandbox 302 diver--s3_diver 398

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 97 duplicates...
Size#FoldersFilesLinesCode
237 x 2 old
ROOT
snowball_uploader_26-success.py
snowball_uploader_26-success.py
1:299 (100%)
1:299 (100%)
view
199 x 2 diver
s3_diver
s3_diver_03-test.py
s3_diver_03-test.py
1:268 (100%)
1:268 (100%)
view
121 x 2 old
old
snowball_uploader_25-success.py
snowball_uploader_26-success.py
116:268 (56%)
143:295 (51%)
view
121 x 2 old
ROOT
snowball_uploader_25-success.py
snowball_uploader_26-success.py
116:268 (56%)
143:295 (51%)
view
119 x 2 old
sandbox
snowball_uploader_25-success.py
snowball_uploader_26-inputFile.py
121:271 (55%)
158:308 (48%)
view
116 x 2 sandbox
ROOT
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
158:305 (47%)
148:295 (48%)
view
116 x 2 old
sandbox
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
148:295 (48%)
158:305 (47%)
view
112 x 2 s3_diver
ROOT
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
126:268 (56%)
177:319 (44%)
view
112 x 2 diver
ROOT
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
126:268 (56%)
177:319 (44%)
view
55 x 2 old
sandbox
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
80:146 (23%)
78:150 (22%)
view
55 x 2 sandbox
ROOT
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
78:150 (22%)
80:146 (23%)
view
50 x 2 diver
ROOT
s3_diver_03-test.py
snowball_uploader_26-success.py
172:232 (25%)
206:266 (21%)
view
50 x 2 old
ROOT
snowball_uploader_26-success.py
snowball_uploader_27-success-prod.py
206:266 (21%)
223:283 (20%)
view
50 x 2 sandbox
ROOT
snowball_uploader_26-inputFile.py
snowball_uploader_27-success-prod.py
216:276 (20%)
223:283 (20%)
view
50 x 2 s3_diver
ROOT
s3_diver_03-test.py
snowball_uploader_26-success.py
172:232 (25%)
206:266 (21%)
view
50 x 2 s3_diver
sandbox
s3_diver_03-test.py
snowball_uploader_26-inputFile.py
172:232 (25%)
216:276 (20%)
view
50 x 2 diver
old
s3_diver_03-test.py
snowball_uploader_26-success.py
172:232 (25%)
206:266 (21%)
view
50 x 2 diver
old
s3_diver_03-test.py
snowball_uploader_25-success.py
172:232 (25%)
179:239 (23%)
view
50 x 2 old
s3_diver
snowball_uploader_25-success.py
s3_diver_03-test.py
179:239 (23%)
172:232 (25%)
view
50 x 2 ROOT
ROOT
snowball_uploader_26-success.py
snowball_uploader_27-success-prod.py
206:266 (21%)
223:283 (20%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
48 x 4 old
old
sandbox
ROOT
snowball_uploader_25-success.py
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
0:0 
0:0 
0:0 
0:0 
view
47 x 3 diver
s3_diver
ROOT
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
view
38 x 2 old
ROOT
snowball_uploader_26-success.py
snowball_uploader_26-success.py
0:0 
0:0 
view
40 x 2 diver
s3_diver
s3_diver_03-test.py
s3_diver_03-test.py
0:0 
0:0 
view
15 x 7 old
old
sandbox
ROOT
diver
s3_diver
ROOT
snowball_uploader_25-success.py
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
9 x 7 old
old
sandbox
ROOT
diver
s3_diver
ROOT
snowball_uploader_25-success.py
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 7 old
old
sandbox
ROOT
diver
s3_diver
ROOT
snowball_uploader_25-success.py
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 3 diver
s3_diver
ROOT
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
view
6 x 6 old
sandbox
ROOT
diver
s3_diver
ROOT
snowball_uploader_26-success.py
snowball_uploader_26-inputFile.py
snowball_uploader_26-success.py
s3_diver_03-test.py
s3_diver_03-test.py
snowball_uploader_27-success-prod.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view