microsoft / HoloLensForCV
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
  • 38% duplication:
    • 8,761 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,407 duplicated lines
  • 1,050 duplicates
system38% (3,407 lines)
Duplication per Extension
vcxproj78% (1,736 lines)
cpp20% (813 lines)
cs79% (412 lines)
h12% (166 lines)
hlsl58% (116 lines)
filters23% (93 lines)
props75% (49 lines)
xaml32% (22 lines)
Duplication per Component (primary)
Shared/Rendering51% (667 lines)
Shared/Audio58% (329 lines)
Tools/StreamerPV90% (317 lines)
Tools/StreamerVLC86% (317 lines)
Shared/OpenCVHelpers59% (231 lines)
Tools/ReceiverPV80% (217 lines)
Tools/ReceiverVLC68% (217 lines)
Shared/Io22% (202 lines)
Shared/Graphics25% (194 lines)
Shared/HoloLensForCV9% (193 lines)
Shared/Debugging49% (175 lines)
Shared/Holographic28% (174 lines)
Tools/Recorder35% (174 lines)

Duplication Between Components (50+ lines)

G Tools/StreamerPV Tools/StreamerPV Tools/StreamerVLC Tools/StreamerVLC Tools/StreamerPV--Tools/StreamerVLC 634 Tools/ReceiverPV Tools/ReceiverPV Tools/ReceiverVLC Tools/ReceiverVLC Tools/ReceiverPV--Tools/ReceiverVLC 434 Shared/Graphics Shared/Graphics Shared/Rendering Shared/Rendering Shared/Graphics--Shared/Rendering 350 Shared/OpenCVHelpers Shared/OpenCVHelpers Shared/Graphics--Shared/OpenCVHelpers 340 Shared/Io Shared/Io Shared/Graphics--Shared/Io 334 Shared/Holographic Shared/Holographic Shared/Graphics--Shared/Holographic 328 Shared/HoloLensForCV Shared/HoloLensForCV Shared/Graphics--Shared/HoloLensForCV 122 Shared/Audio Shared/Audio Shared/Audio--Shared/Io 340 Shared/Audio--Shared/OpenCVHelpers 340 Shared/Audio--Shared/Rendering 338 Shared/Audio--Shared/Graphics 336 Shared/Audio--Shared/Holographic 332 Shared/Debugging Shared/Debugging Shared/Audio--Shared/Debugging 290 Shared/Audio--Shared/HoloLensForCV 126 Shared/Io--Shared/OpenCVHelpers 338 Shared/Io--Shared/Rendering 338 Shared/OpenCVHelpers--Shared/Rendering 340 Tools/Recorder Tools/Recorder Tools/Recorder--Tools/StreamerVLC 340 Tools/Recorder--Tools/StreamerPV 340 Shared/Holographic--Shared/Io 332 Shared/Holographic--Shared/Rendering 332 Shared/Holographic--Shared/OpenCVHelpers 332 Shared/Debugging--Shared/Io 290 Shared/Debugging--Shared/Rendering 290 Shared/Debugging--Shared/OpenCVHelpers 290 Shared/Debugging--Shared/Graphics 286 Shared/Debugging--Shared/Holographic 186 Shared/Debugging--Shared/HoloLensForCV 126 Shared/HoloLensForCV--Shared/Rendering 130 Shared/HoloLensForCV--Shared/OpenCVHelpers 128 Shared/HoloLensForCV--Shared/Io 126 Shared/HoloLensForCV--Shared/Holographic 126

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 1,050 duplicates...
Size#FoldersFilesLinesCode
127 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
184:464 (61%)
237:517 (51%)
view
94 x 2 Shared/Audio
Shared/Io
vcxproj
Audio.vcxproj
Io.vcxproj
108:232 (45%)
108:232 (44%)
view
94 x 2 Shared/OpenCVHelpers
Shared/Rendering
vcxproj
OpenCVHelpers.vcxproj
Rendering.vcxproj
126:250 (38%)
120:244 (32%)
view
93 x 2 Shared/Graphics
Shared/Io
vcxproj
Graphics.vcxproj
Io.vcxproj
111:233 (44%)
110:232 (44%)
view
93 x 2 Shared/Audio
Shared/Graphics
vcxproj
Audio.vcxproj
Graphics.vcxproj
110:232 (45%)
111:233 (44%)
view
93 x 2 Shared/Io
Shared/OpenCVHelpers
vcxproj
Io.vcxproj
OpenCVHelpers.vcxproj
110:232 (44%)
128:250 (37%)
view
93 x 2 Shared/Io
Shared/Rendering
vcxproj
Io.vcxproj
Rendering.vcxproj
110:232 (44%)
122:244 (32%)
view
93 x 2 Shared/Graphics
Shared/Rendering
vcxproj
Graphics.vcxproj
Rendering.vcxproj
111:233 (44%)
122:244 (32%)
view
93 x 2 Shared/Graphics
Shared/OpenCVHelpers
vcxproj
Graphics.vcxproj
OpenCVHelpers.vcxproj
111:233 (44%)
128:250 (37%)
view
93 x 2 Shared/Audio
Shared/OpenCVHelpers
vcxproj
Audio.vcxproj
OpenCVHelpers.vcxproj
110:232 (45%)
128:250 (37%)
view
93 x 2 Shared/Audio
Shared/Rendering
vcxproj
Audio.vcxproj
Rendering.vcxproj
110:232 (45%)
122:244 (32%)
view
76 x 2 Tools/StreamerPV
Tools/StreamerVLC
AppMain.cpp
AppMain.cpp
99:244 (58%)
117:269 (51%)
view
53 x 2 Shared/Audio
Shared/Audio
AudioFileReader.cpp
AudioStreamReader.cpp
34:159 (86%)
41:166 (81%)
view
49 x 2 Tools/StreamerPV
Tools/StreamerVLC
vcxproj
StreamerPV.vcxproj
StreamerVLC.vcxproj
64:124 (37%)
64:124 (37%)
view
49 x 2 Tools/Recorder
Tools/StreamerVLC
vcxproj
Recorder.vcxproj
StreamerVLC.vcxproj
66:126 (36%)
64:124 (37%)
view
49 x 2 Tools/Recorder
Tools/StreamerPV
vcxproj
Recorder.vcxproj
StreamerPV.vcxproj
66:126 (36%)
64:124 (37%)
view
46 x 2 Tools/StreamerPV
Tools/StreamerVLC
vcxproj
StreamerPV.vcxproj
StreamerVLC.vcxproj
8:62 (35%)
8:62 (35%)
view
46 x 2 Shared/Rendering
Shared/Rendering
MarkerRenderer.cpp
SlateRenderer.cpp
174:242 (30%)
199:267 (30%)
view
40 x 2 Shared/Debugging
Shared/Io
vcxproj
Debugging.vcxproj
Io.vcxproj
33:81 (19%)
33:81 (19%)
view
40 x 2 Shared/Graphics
Shared/Rendering
vcxproj
Graphics.vcxproj
Rendering.vcxproj
34:82 (18%)
33:81 (13%)
view
Duplicated Units
The list of top 14 duplicated units.
See data for all 14 unit duplicates...
Size#FoldersFilesLinesCode
29 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
228:263 
281:316 
view
24 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
403:433 
456:486 
view
20 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
App.xaml.cs
App.xaml.cs
52:86 
52:86 
view
18 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
340:361 
393:414 
view
13 x 2 Shared/HoloLensForCV
Shared/HoloLensForCV
SensorFrameRecorder.cpp
SensorFrameStreamer.cpp
25:39 
20:34 
view
13 x 2 Tools/StreamerPV
Tools/StreamerVLC
AppMain.cpp
AppMain.cpp
216:232 
235:251 
view
10 x 2 Shared/Rendering
Shared/Rendering
MarkerRenderer.cpp
SlateRenderer.cpp
245:257 
270:282 
view
10 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
40:50 
41:51 
view
9 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
441:450 
494:503 
view
8 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
380:390 
433:443 
view
8 x 2 Tools/ReceiverPV
Tools/ReceiverVLC
MainPage.xaml.cs
MainPage.xaml.cs
458:466 
511:519 
view
7 x 2 Tools/StreamerPV
Tools/StreamerVLC
AppMain.cpp
AppMain.cpp
37:51 
37:51 
view
7 x 2 Tools/StreamerPV
Tools/StreamerVLC
AppMain.cpp
AppMain.cpp
53:63 
53:63 
view
6 x 2 Tools/StreamerPV
Tools/StreamerVLC
AppMain.cpp
AppMain.cpp
196:204 
215:223 
view