aws-samples / serverless-streaming-data-application
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
  • 17% duplication:
    • 1,898 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 325 duplicated lines
  • 31 duplicates
system17% (325 lines)
Duplication per Extension
yaml20% (142 lines)
js25% (141 lines)
vue6% (42 lines)
Duplication per Component (primary)
0-setup/base-template32% (105 lines)
frontend/src12% (85 lines)
1-streaming-kds39% (34 lines)
simulator/lib38% (25 lines)
2-streaming-kdf/s3-processor19% (25 lines)
3-streaming-kda11% (19 lines)
1-streaming-kds/finalResultsFunction22% (10 lines)
1-streaming-kds/tumblingFunction12% (10 lines)
2-streaming-kdf/transformer40% (6 lines)
1-streaming-kds/publishStreamFunction17% (6 lines)
2-streaming-kdf0% (0 lines)
simulator0% (0 lines)
3-streaming-kda/DestinationFunction0% (0 lines)
frontend0% (0 lines)
frontend/public0% (0 lines)

Duplication Between Components (50+ lines)

G frontend/src frontend/src simulator/lib simulator/lib frontend/src--simulator/lib 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 31 duplicates...
Size#FoldersFilesLinesCode
18 x 2 2-streaming-kdf/s3-processor/lib
frontend/src/lib
gzip.js
gzip.js
5:28 (100%)
5:28 (100%)
view
17 x 2 frontend/src/lib
simulator/lib
racer.js
racer.js
24:51 (60%)
26:53 (58%)
view
14 x 2 0-setup/base-template/1-core
0-setup/base-template/1-core
template.yaml
template.yaml
71:84 (9%)
111:124 (9%)
view
14 x 2 0-setup/base-template/1-core
0-setup/base-template/1-core
template.yaml
template.yaml
54:67 (9%)
94:107 (9%)
view
13 x 2 0-setup/base-template/3-api
0-setup/base-template/3-api
template.yaml
template.yaml
35:47 (19%)
58:70 (19%)
view
12 x 2 1-streaming-kds
3-streaming-kda
template.yaml
template.yaml
82:93 (13%)
150:161 (7%)
view
11 x 2 1-streaming-kds
1-streaming-kds
template.yaml
template.yaml
36:46 (12%)
59:69 (12%)
view
10 x 2 1-streaming-kds/finalResultsFunction
1-streaming-kds/tumblingFunction
testHarness.js
testHarness.js
6:22 (100%)
6:22 (100%)
view
8 x 2 0-setup/base-template/3-api/functions
0-setup/base-template/3-api/functions
getLeaderboard.js
getRaces.js
5:16 (42%)
5:16 (47%)
view
8 x 2 frontend/src/lib
simulator/lib
racer.js
racer.js
6:18 (28%)
6:18 (27%)
view
7 x 2 1-streaming-kds/tumblingFunction
2-streaming-kdf/s3-processor
testHarness.js
testHarness.js
11:22 (70%)
13:24 (58%)
view
7 x 2 0-setup/base-template/3-api
1-streaming-kds
template.yaml
template.yaml
38:44 (10%)
36:42 (8%)
view
7 x 2 frontend/src/components
frontend/src/components
Home.vue
Home.vue
98:106 (1%)
176:184 (1%)
view
7 x 2 1-streaming-kds/finalResultsFunction
2-streaming-kdf/s3-processor
testHarness.js
testHarness.js
11:22 (70%)
13:24 (58%)
view
7 x 2 frontend/src/components
frontend/src/components
Home.vue
Home.vue
133:141 (1%)
176:184 (1%)
view
7 x 2 frontend/src/components
frontend/src/components
Home.vue
Home.vue
98:106 (1%)
133:141 (1%)
view
7 x 2 0-setup/base-template/3-api
1-streaming-kds
template.yaml
template.yaml
61:67 (10%)
36:42 (8%)
view
7 x 2 frontend/src/components
frontend/src/components
Home.vue
Home.vue
98:106 (1%)
196:204 (1%)
view
7 x 2 frontend/src/components
frontend/src/components
Home.vue
Home.vue
108:121 (1%)
143:156 (1%)
view
7 x 2 0-setup/base-template/3-api
1-streaming-kds
template.yaml
template.yaml
61:67 (10%)
59:65 (8%)
view