aws-samples / lambda-refarch-webapp
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
  • 27% duplication:
    • 1,050 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 286 duplicated lines
  • 49 duplicates
system27% (286 lines)
Duplication per Extension
js35% (224 lines)
yaml17% (62 lines)
Duplication per Component (primary)
ROOT17% (62 lines)
todo-src/deleteTodo86% (51 lines)
todo-src/getTodo89% (50 lines)
todo-src/completeTodo83% (49 lines)
todo-src/updateTodo45% (33 lines)
todo-src/addTodo34% (22 lines)
todo-src/getAllTodo38% (19 lines)
www/src0% (0 lines)
www/public0% (0 lines)

Duplication Between Components (50+ lines)

G todo-src/deleteTodo todo-src/deleteTodo todo-src/getTodo todo-src/getTodo todo-src/deleteTodo--todo-src/getTodo 100 todo-src/updateTodo todo-src/updateTodo todo-src/deleteTodo--todo-src/updateTodo 66 todo-src/getTodo--todo-src/updateTodo 64 todo-src/completeTodo todo-src/completeTodo todo-src/completeTodo--todo-src/deleteTodo 98 todo-src/completeTodo--todo-src/getTodo 98 todo-src/completeTodo--todo-src/updateTodo 64

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 49 duplicates...
Size#FoldersFilesLinesCode
31 x 2 todo-src/completeTodo
todo-src/deleteTodo
app.js
app.js
5:45 (52%)
5:45 (52%)
view
31 x 2 todo-src/completeTodo
todo-src/getTodo
app.js
app.js
5:45 (52%)
5:45 (55%)
view
31 x 2 todo-src/deleteTodo
todo-src/getTodo
app.js
app.js
5:45 (52%)
5:45 (55%)
view
20 x 2 todo-src/deleteTodo
todo-src/updateTodo
app.js
app.js
5:31 (33%)
5:31 (27%)
view
20 x 2 todo-src/getTodo
todo-src/updateTodo
app.js
app.js
5:31 (35%)
5:31 (27%)
view
20 x 2 todo-src/completeTodo
todo-src/updateTodo
app.js
app.js
5:31 (33%)
5:31 (27%)
view
19 x 2 todo-src/getAllTodo
todo-src/getTodo
app.js
app.js
5:29 (38%)
5:29 (33%)
view
19 x 2 todo-src/getAllTodo
todo-src/updateTodo
app.js
app.js
5:29 (38%)
5:29 (26%)
view
19 x 2 todo-src/completeTodo
todo-src/getAllTodo
app.js
app.js
5:29 (32%)
5:29 (38%)
view
19 x 2 todo-src/deleteTodo
todo-src/getAllTodo
app.js
app.js
5:29 (32%)
5:29 (38%)
view
16 x 2 todo-src/addTodo
todo-src/getTodo
app.js
app.js
12:32 (25%)
11:31 (28%)
view
16 x 2 todo-src/addTodo
todo-src/deleteTodo
app.js
app.js
12:32 (25%)
11:31 (27%)
view
16 x 2 todo-src/addTodo
todo-src/completeTodo
app.js
app.js
12:32 (25%)
11:31 (27%)
view
16 x 2 todo-src/addTodo
todo-src/updateTodo
app.js
app.js
12:32 (25%)
11:31 (21%)
view
15 x 2 todo-src/addTodo
todo-src/getAllTodo
app.js
app.js
12:30 (23%)
11:29 (30%)
view
11 x 2 ROOT
ROOT
template.yaml
template.yaml
221:232 (3%)
271:282 (3%)
view
11 x 2 ROOT
ROOT
template.yaml
template.yaml
195:206 (3%)
271:282 (3%)
view
11 x 2 ROOT
ROOT
template.yaml
template.yaml
195:206 (3%)
221:232 (3%)
view
9 x 2 ROOT
ROOT
template.yaml
template.yaml
221:229 (2%)
247:255 (2%)
view
9 x 2 ROOT
ROOT
template.yaml
template.yaml
247:255 (2%)
271:279 (2%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
7 x 3 todo-src/completeTodo
todo-src/getTodo
todo-src/deleteTodo
app.js
app.js
app.js
31:38 
31:38 
31:38 
view
6 x 6 todo-src/getAllTodo
todo-src/completeTodo
todo-src/getTodo
todo-src/updateTodo
todo-src/deleteTodo
todo-src/addTodo
app.js
app.js
app.js
app.js
app.js
app.js
32:38 
40:46 
40:46 
45:51 
40:46 
36:42 
view