microsoft / Windows-iotcore-samples
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:
    • 4,840 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,339 duplicated lines
  • 174 duplicates
system27% (1,339 lines)
Duplication per Extension
cpp22% (617 lines)
vcxproj70% (543 lines)
filters66% (83 lines)
hpp16% (48 lines)
cs15% (36 lines)
c5% (6 lines)
h24% (6 lines)
Duplication per Component (primary)
Drivers/VirtualPWM/VirtualPWM/CPP24% (361 lines)
BusTools/I2cTestTool63% (245 lines)
BusTools/SpiTestTool47% (179 lines)
BusTools/MinComm18% (146 lines)
BusTools/PwmTestTool45% (134 lines)
Drivers/WaveshareFilterKmdf/WaveshareFilterKmdf34% (123 lines)
BusTools/GpioTestTool26% (115 lines)
Solutions/HeartDisease/HeartDisease/HeartDiseasePrediction - CS11% (36 lines)
Scripts0% (0 lines)
Solutions/HeartDisease/HeartDisease/HeartDiseaseModel0% (0 lines)

Duplication Between Components (50+ lines)

G BusTools/I2cTestTool BusTools/I2cTestTool BusTools/SpiTestTool BusTools/SpiTestTool BusTools/I2cTestTool--BusTools/SpiTestTool 358 BusTools/PwmTestTool BusTools/PwmTestTool BusTools/I2cTestTool--BusTools/PwmTestTool 268 BusTools/MinComm BusTools/MinComm BusTools/I2cTestTool--BusTools/MinComm 100 BusTools/PwmTestTool--BusTools/SpiTestTool 240 BusTools/GpioTestTool BusTools/GpioTestTool BusTools/GpioTestTool--BusTools/MinComm 212 BusTools/GpioTestTool--BusTools/I2cTestTool 118 BusTools/GpioTestTool--BusTools/SpiTestTool 118 BusTools/GpioTestTool--BusTools/PwmTestTool 116 BusTools/MinComm--BusTools/SpiTestTool 100 BusTools/MinComm--BusTools/PwmTestTool 98

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 174 duplicates...
Size#FoldersFilesLinesCode
47 x 2 BusTools/I2cTestTool
BusTools/SpiTestTool
vcxproj
I2cTestTool.vcxproj
SpiTestTool.vcxproj
42:104 (59%)
42:104 (59%)
view
45 x 2 BusTools/GpioTestTool
BusTools/MinComm
vcxproj
GpioTestTool.vcxproj
MinComm.vcxproj
42:102 (58%)
42:102 (58%)
view
42 x 2 BusTools/I2cTestTool
BusTools/PwmTestTool
vcxproj
I2cTestTool.vcxproj
PwmTestTool.vcxproj
44:97 (53%)
47:100 (53%)
view
42 x 2 BusTools/PwmTestTool
BusTools/SpiTestTool
vcxproj
PwmTestTool.vcxproj
SpiTestTool.vcxproj
47:100 (53%)
44:97 (53%)
view
29 x 2 BusTools/I2cTestTool
BusTools/SpiTestTool
vcxproj
I2cTestTool.vcxproj
SpiTestTool.vcxproj
1:38 (36%)
1:38 (36%)
view
29 x 2 BusTools/GpioTestTool
BusTools/MinComm
vcxproj
GpioTestTool.vcxproj
MinComm.vcxproj
1:38 (37%)
1:38 (37%)
view
29 x 2 BusTools/I2cTestTool
BusTools/SpiTestTool
main.cpp
main.cpp
116:161 (10%)
113:158 (10%)
view
27 x 2 BusTools/PwmTestTool
BusTools/SpiTestTool
vcxproj
PwmTestTool.vcxproj
SpiTestTool.vcxproj
1:34 (34%)
1:34 (34%)
view
27 x 2 BusTools/I2cTestTool
BusTools/PwmTestTool
vcxproj
I2cTestTool.vcxproj
PwmTestTool.vcxproj
1:34 (34%)
1:34 (34%)
view
17 x 2 BusTools/I2cTestTool
BusTools/SpiTestTool
main.cpp
main.cpp
194:213 (5%)
180:199 (5%)
view
17 x 2 BusTools/GpioTestTool
BusTools/MinComm
main.cpp
main.cpp
38:62 (5%)
54:78 (2%)
view
15 x 2 BusTools/GpioTestTool
BusTools/MinComm
filters
GpioTestTool.vcxproj.filters
MinComm.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 Solutions/HeartDisease/H...ediction - CS
Solutions/HeartDisease/H...ediction - CS
MainPage.xaml.cs
MainPage.xaml.cs
194:210 (8%)
285:301 (8%)
view
15 x 2 BusTools/MinComm
Drivers/VirtualPWM/VirtualPWM/CPP
vcxproj
MinComm.vcxproj
virtualpwm.vcxproj
16:34 (19%)
8:26 (7%)
view
15 x 2 BusTools/I2cTestTool
BusTools/MinComm
filters
I2cTestTool.vcxproj.filters
MinComm.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 BusTools/GpioTestTool
BusTools/PwmTestTool
filters
GpioTestTool.vcxproj.filters
PwmTestTool.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 BusTools/I2cTestTool
BusTools/PwmTestTool
filters
I2cTestTool.vcxproj.filters
PwmTestTool.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 BusTools/MinComm
BusTools/SpiTestTool
filters
MinComm.vcxproj.filters
SpiTestTool.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 BusTools/PwmTestTool
BusTools/SpiTestTool
filters
PwmTestTool.vcxproj.filters
SpiTestTool.vcxproj.filters
1:19 (100%)
1:19 (100%)
view
15 x 2 BusTools/MinComm
BusTools/PwmTestTool
filters
MinComm.vcxproj.filters
PwmTestTool.vcxproj.filters
1:19 (100%)
1:19 (100%)
view