aws-samples / busy-engineers-document-bucket
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
  • 91% duplication:
    • 6,206 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,665 duplicated lines
  • 657 duplicates
system91% (5,665 lines)
Duplication per Extension
java95% (1,943 lines)
py94% (1,423 lines)
js98% (1,160 lines)
ts74% (761 lines)
toml96% (336 lines)
yml35% (42 lines)
Duplication per Component (primary)
exercises/java95% (1,943 lines)
exercises/python95% (1,711 lines)
exercises/node-javascript98% (1,144 lines)
exercises/node-typescript92% (740 lines)
exercises100% (48 lines)
codebuild77% (42 lines)
cdk/lib10% (21 lines)
cdk100% (8 lines)
dev/cloud9-generator33% (8 lines)
ROOT0% (0 lines)
instructions0% (0 lines)

Duplication Between Components (50+ lines)

G exercises/node-javascript exercises/node-javascript exercises/node-typescript exercises/node-typescript exercises/node-javascript--exercises/node-typescript 866 exercises exercises exercises/python exercises/python exercises--exercises/python 336

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 657 duplicates...
Size#FoldersFilesLinesCode
150 x 2 exercises/python/add-esd...art/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...ete/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...ete/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/encrypt...ete/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...art/src/document_bucket
exercises/python/encrypt...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/encrypt...art/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...art/src/document_bucket
exercises/python/encrypt...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/encrypt...ete/src/document_bucket
exercises/python/encrypt...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...ete/src/document_bucket
exercises/python/encrypt...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...art/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/multi-c...ete/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...ete/src/document_bucket
exercises/python/encrypt...ete/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/encrypt...art/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/encrypt...ete/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
150 x 2 exercises/python/add-esd...ete/src/document_bucket
exercises/python/add-esd...art/src/document_bucket
model.py
model.py
17:328 (100%)
17:328 (100%)
view
96 x 2 exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
Api.java
Api.java
33:275 (100%)
33:275 (100%)
view
96 x 2 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
Api.java
Api.java
33:278 (100%)
33:275 (100%)
view
96 x 2 exercises/java/add-esdk-...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
Api.java
Api.java
34:284 (100%)
33:278 (100%)
view
96 x 2 exercises/java/add-esdk-...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
Api.java
Api.java
34:284 (100%)
33:275 (100%)
view
96 x 2 exercises/java/add-esdk-...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
Api.java
Api.java
34:284 (100%)
33:275 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 37 unit duplicates...
Size#FoldersFilesLinesCode
18 x 3 exercises/node-javascript/encryption-context-start
exercises/node-javascript/multi-cmk-start
exercises/node-javascript/multi-cmk-complete
store.js
store.js
store.js
36:62 
37:62 
38:63 
view
18 x 4 exercises/node-typescrip...ption-context-start/src
exercises/node-typescript/multi-cmk-start/src
exercises/node-typescript/multi-cmk-complete/src
exercises/node-typescript/add-esdk-complete/src
store.ts
store.ts
store.ts
store.ts
35:61 
36:61 
37:62 
36:62 
view
15 x 12 exercises/node-javascript/encryption-context-start
exercises/node-javascript/multi-cmk-start
exercises/node-javascrip...yption-context-complete
exercises/node-javascript/add-esdk-start
exercises/node-javascript/multi-cmk-complete
exercises/node-javascript/add-esdk-complete
exercises/node-typescrip...ption-context-start/src
exercises/node-typescript/multi-cmk-start/src
exercises/node-typescrip...on-context-complete/src
exercises/node-typescript/add-esdk-start/src
...
list.js
list.js
list.js
list.js
list.js
list.js
list.ts
list.ts
list.ts
list.ts
...
12:27 
12:27 
12:27 
12:27 
12:27 
12:27 
15:30 
15:30 
15:30 
15:30 
...
view
15 x 6 exercises/node-javascript/encryption-context-start
exercises/node-javascript/multi-cmk-start
exercises/node-javascrip...yption-context-complete
exercises/node-javascript/add-esdk-start
exercises/node-javascript/multi-cmk-complete
exercises/node-javascript/add-esdk-complete
search.js
search.js
search.js
search.js
search.js
search.js
13:28 
13:28 
13:28 
13:28 
13:28 
13:28 
view
15 x 5 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
Api.java
Api.java
Api.java
Api.java
Api.java
51:66 
51:66 
52:67 
51:66 
53:70 
view
13 x 5 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
Api.java
Api.java
Api.java
Api.java
Api.java
81:94 
81:94 
82:95 
81:94 
85:100 
view
11 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
27:38 
27:38 
27:38 
27:38 
27:38 
27:38 
view
10 x 3 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
App.java
App.java
App.java
28:48 
28:48 
28:48 
view
9 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
BaseItem.java
BaseItem.java
BaseItem.java
BaseItem.java
BaseItem.java
BaseItem.java
80:89 
80:89 
80:89 
80:89 
80:89 
80:89 
view
9 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
DocumentBundle.java
DocumentBundle.java
DocumentBundle.java
DocumentBundle.java
DocumentBundle.java
DocumentBundle.java
73:82 
73:82 
73:82 
73:82 
73:82 
73:82 
view
9 x 2 exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
App.java
App.java
28:49 
29:49 
view
9 x 6 exercises/python/encrypt...art/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
exercises/python/encrypt...ete/src/document_bucket
exercises/python/add-esd...art/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
exercises/python/add-esd...ete/src/document_bucket
model.py
model.py
model.py
model.py
model.py
model.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
8 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
46:54 
46:54 
46:54 
46:54 
46:54 
46:54 
view
8 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
PointerItem.java
144:152 
144:152 
144:152 
144:152 
144:152 
144:152 
view
8 x 6 exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/encryptio.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
exercises/java/multi-cmk.../esdkworkshop/datamodel
exercises/java/add-esdk-.../esdkworkshop/datamodel
ContextItem.java
ContextItem.java
ContextItem.java
ContextItem.java
ContextItem.java
ContextItem.java
44:52 
44:52 
44:52 
44:52 
44:52 
44:52 
view
8 x 6 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
Api.java
Api.java
Api.java
Api.java
Api.java
Api.java
152:160 
152:160 
153:161 
109:117 
152:160 
158:166 
view
8 x 6 exercises/python/encrypt...art/src/document_bucket
exercises/python/multi-c...art/src/document_bucket
exercises/python/encrypt...ete/src/document_bucket
exercises/python/add-esd...art/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
exercises/python/add-esd...ete/src/document_bucket
api.py
api.py
api.py
api.py
api.py
api.py
0:0 
0:0 
0:0 
0:0 
0:0 
0:0 
view
14 x 2 exercises/python/multi-c...art/src/document_bucket
exercises/python/multi-c...ete/src/document_bucket
api.py
api.py
0:0 
0:0 
view
7 x 6 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
Api.java
Api.java
Api.java
Api.java
Api.java
Api.java
137:144 
137:144 
138:145 
94:101 
137:144 
143:150 
view
7 x 4 exercises/java/encryptio...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/multi-cmk...fw/example/esdkworkshop
exercises/java/add-esdk-...fw/example/esdkworkshop
Api.java
Api.java
Api.java
Api.java
211:219 
211:218 
211:218 
217:225 
view