microsoft / vscode-iot-workbench
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
  • 61% duplication:
    • 25,935 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 16,068 duplicated lines
  • 122 duplicates
system61% (16,068 lines)
Duplication per Extension
js95% (15,254 lines)
ts7% (585 lines)
cmake78% (91 lines)
html8% (52 lines)
ino56% (44 lines)
css5% (42 lines)
Duplication per Component (primary)
assets/modelRepository87% (7,721 lines)
views91% (7,627 lines)
src/Models9% (292 lines)
src11% (242 lines)
devicedevex_dockerfiles/public74% (68 lines)
resources/templates32% (44 lines)
src/DigitalTwin1% (44 lines)
devicedevex_dockerfiles/internal82% (23 lines)
scripts/mdLinkChecker5% (7 lines)
ROOT0% (0 lines)
scripts0% (0 lines)
src/common0% (0 lines)

Duplication Between Components (50+ lines)

G assets/modelRepository assets/modelRepository views views assets/modelRepository--views 15254

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 122 duplicates...
Size#FoldersFilesLinesCode
6715 x 2 assets/modelRepository
views
vue.js
vue.js
1371:11517 (88%)
1370:11516 (88%)
view
390 x 2 assets/modelRepository
views
vue.js
vue.js
881:1369 (5%)
880:1368 (5%)
view
259 x 2 assets/modelRepository
views
vue.js
vue.js
546:875 (3%)
545:874 (3%)
view
86 x 2 assets/modelRepository
views
vue.js
vue.js
6:202 (1%)
6:202 (1%)
view
65 x 2 assets/modelRepository
views
vue.js
vue.js
354:520 (<1%)
352:518 (<1%)
view
52 x 2 assets/modelRepository
views
vue.js
vue.js
268:348 (<1%)
266:346 (<1%)
view
26 x 2 src/Models
src/Models
AZ3166Device.ts
AZ3166Device.ts
535:568 (4%)
639:672 (4%)
view
25 x 2 assets/modelRepository
views
command.js
example.js
10:43 (78%)
306:339 (9%)
view
22 x 2 resources/templates/devkit_azurefunctions
resources/templates/devkit_iothub
ino
device.ino
device.ino
4:45 (100%)
4:45 (100%)
view
22 x 2 assets/modelRepository
views
vue.js
vue.js
212:255 (<1%)
208:251 (<1%)
view
14 x 2 devicedevex_dockerfiles/...w-cross-toolchain-arm64
devicedevex_dockerfiles/...w-cross-toolchain-arm64
cmake
Toolchain.cmake
Toolchain.cmake
1:18 (100%)
1:18 (100%)
view
14 x 2 src/Models
src/Models
IoTHub.ts
IoTHubDevice.ts
41:64 (12%)
99:122 (10%)
view
13 x 2 assets/modelRepository
views
vue.js
vue.js
523:540 (<1%)
519:537 (<1%)
view
13 x 2 devicedevex_dockerfiles/...cube-1.0.0/alpine-arm64
devicedevex_dockerfiles/...w-cross-toolchain-arm64
cmake
Toolchain.cmake
Toolchain.cmake
2:18 (92%)
2:18 (92%)
view
13 x 2 devicedevex_dockerfiles/...cube-1.0.0/alpine-arm64
devicedevex_dockerfiles/...w-cross-toolchain-arm64
cmake
Toolchain.cmake
Toolchain.cmake
2:18 (92%)
2:18 (92%)
view
11 x 2 src
src
utils.ts
utils.ts
808:819 (1%)
827:838 (1%)
view
10 x 2 devicedevex_dockerfiles/...w-cross-toolchain-arm32
devicedevex_dockerfiles/...w-cross-toolchain-arm32
cmake
Toolchain.cmake
Toolchain.cmake
1:14 (100%)
1:14 (100%)
view
10 x 2 devicedevex_dockerfiles/...cube-1.0.0/ubuntu-arm64
devicedevex_dockerfiles/...w-cross-toolchain-arm64
cmake
Toolchain.cmake
Toolchain.cmake
6:18 (71%)
6:18 (71%)
view
10 x 2 devicedevex_dockerfiles/...5-cross-toolchain-arm32
devicedevex_dockerfiles/...w-cross-toolchain-arm32
cmake
Toolchain.cmake
Toolchain.cmake
1:14 (100%)
1:14 (100%)
view
10 x 2 devicedevex_dockerfiles/...cube-1.0.0/ubuntu-arm64
devicedevex_dockerfiles/...w-cross-toolchain-arm64
cmake
Toolchain.cmake
Toolchain.cmake
6:18 (71%)
6:18 (71%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 360 unit duplicates...
Size#FoldersFilesLinesCode
107 x 2 assets/modelRepository
views
vue.js
vue.js
5951:6068 
5950:6067 
view
97 x 2 assets/modelRepository
views
vue.js
vue.js
6190:6298 
6189:6297 
view
103 x 2 assets/modelRepository
views
vue.js
vue.js
6696:6807 
6695:6806 
view
84 x 2 assets/modelRepository
views
vue.js
vue.js
9925:10018 
9924:10017 
view
78 x 2 assets/modelRepository
views
vue.js
vue.js
4433:4521 
4432:4520 
view
97 x 2 assets/modelRepository
views
vue.js
vue.js
8535:8665 
8534:8664 
view
75 x 2 assets/modelRepository
views
vue.js
vue.js
11235:11329 
11234:11328 
view
71 x 2 assets/modelRepository
views
vue.js
vue.js
4250:4361 
4249:4360 
view
119 x 2 assets/modelRepository
views
vue.js
vue.js
7914:8058 
7913:8057 
view
66 x 2 assets/modelRepository
views
vue.js
vue.js
10743:10828 
10742:10827 
view
61 x 2 assets/modelRepository
views
vue.js
vue.js
10422:10490 
10421:10489 
view
60 x 2 assets/modelRepository
views
vue.js
vue.js
6099:6168 
6098:6167 
view
59 x 2 assets/modelRepository
views
vue.js
vue.js
11430:11498 
11429:11497 
view
57 x 2 assets/modelRepository
views
vue.js
vue.js
6866:6937 
6865:6936 
view
56 x 2 assets/modelRepository
views
vue.js
vue.js
5643:5710 
5642:5709 
view
52 x 2 assets/modelRepository
views
vue.js
vue.js
9636:9690 
9635:9689 
view
52 x 2 assets/modelRepository
views
vue.js
vue.js
10119:10179 
10118:10178 
view
50 x 2 assets/modelRepository
views
vue.js
vue.js
4090:4143 
4089:4142 
view
49 x 2 assets/modelRepository
views
vue.js
vue.js
2884:2951 
2883:2950 
view
49 x 2 assets/modelRepository
views
vue.js
vue.js
7192:7241 
7191:7240 
view