microsoft / ConcordExtensibilitySamples
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
  • 8% duplication:
    • 6,410 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 546 duplicated lines
  • 50 duplicates
system8% (546 lines)
Duplication per Extension
vcxproj45% (203 lines)
cs3% (164 lines)
filters48% (69 lines)
cpp16% (56 lines)
props70% (42 lines)
vsixmanifest20% (12 lines)
Duplication per Component (primary)
HelloWorld/Cpp35% (143 lines)
CppCustomVisualizer/dll27% (129 lines)
Iris/FrontEndTest7% (104 lines)
CppCustomVisualizer/vsix52% (48 lines)
CppCustomVisualizer/TargetApp26% (41 lines)
Iris/IrisExtension5% (38 lines)
CppCustomVisualizer100% (21 lines)
HelloWorld/Cs12% (11 lines)
Iris/vsix39% (11 lines)
Iris/IrisCompiler0% (0 lines)
Iris/IrisRuntime0% (0 lines)
Iris/Programs0% (0 lines)
Iris/ic0% (0 lines)
Iris/xplat-package0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G CppCustomVisualizer/dll CppCustomVisualizer/dll HelloWorld/Cpp HelloWorld/Cpp CppCustomVisualizer/dll--HelloWorld/Cpp 159 CppCustomVisualizer/vsix CppCustomVisualizer/vsix CppCustomVisualizer/vsix--HelloWorld/Cpp 103

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 50 duplicates...
Size#FoldersFilesLinesCode
21 x 2 CppCustomVisualizer
HelloWorld/Cpp
props
Cpp.props
Cpp.props
1:40 (100%)
1:40 (100%)
view
18 x 2 CppCustomVisualizer/dll
HelloWorld/Cpp/dll
filters
CppCustomVisualizer.vcxproj.filters
HelloWorld.vcxproj.filters
1:24 (32%)
1:24 (32%)
view
17 x 2 CppCustomVisualizer/vsix
HelloWorld/Cpp/vsix
vcxproj
vsix.vcxproj
vsix.vcxproj
20:39 (32%)
20:39 (28%)
view
14 x 2 CppCustomVisualizer/vsix
HelloWorld/Cpp/vsix
vcxproj
vsix.vcxproj
vsix.vcxproj
1:18 (26%)
1:18 (23%)
view
14 x 2 CppCustomVisualizer/dll
CppCustomVisualizer/dll
_EntryPoint.cpp
_EntryPoint.cpp
183:196 (6%)
204:217 (6%)
view
13 x 2 Iris/IrisExtension/ExpressionCompiler
Iris/IrisExtension/ExpressionCompiler
IrisExpressionCompiler.cs
IrisExpressionCompiler.cs
53:69 (23%)
124:140 (23%)
view
12 x 2 CppCustomVisualizer/dll
HelloWorld/Cpp/dll
vcxproj
CppCustomVisualizer.vcxproj
HelloWorld.vcxproj
73:86 (10%)
70:83 (11%)
view
11 x 2 HelloWorld/Cs/vsix/Properties
Iris/vsix/Properties
AssemblyInfo.cs
AssemblyInfo.cs
11:36 (91%)
8:33 (91%)
view
11 x 2 CppCustomVisualizer/dll
CppCustomVisualizer/vsix
filters
CppCustomVisualizer.vcxproj.filters
vsix.vcxproj.filters
1:13 (19%)
1:13 (68%)
view
11 x 2 CppCustomVisualizer/vsix
HelloWorld/Cpp/dll
filters
vsix.vcxproj.filters
HelloWorld.vcxproj.filters
1:13 (68%)
1:13 (19%)
view
11 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SamplePrograms.cs
SamplePrograms.cs
20:32 (1%)
50:62 (1%)
view
10 x 2 CppCustomVisualizer/dll
HelloWorld/Cpp/dll
vcxproj
CppCustomVisualizer.vcxproj
HelloWorld.vcxproj
1:13 (8%)
1:13 (9%)
view
9 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
544:555 (2%)
560:571 (2%)
view
8 x 2 CppCustomVisualizer/TargetApp
HelloWorld/Cpp/dll
filters
TargetApp.vcxproj.filters
HelloWorld.vcxproj.filters
1:9 (53%)
1:9 (14%)
view
8 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
545:555 (1%)
576:586 (1%)
view
8 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
545:555 (1%)
597:607 (1%)
view
8 x 2 CppCustomVisualizer/TargetApp
CppCustomVisualizer/vsix
filters
TargetApp.vcxproj.filters
vsix.vcxproj.filters
1:9 (53%)
1:9 (50%)
view
8 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
576:586 (1%)
597:607 (1%)
view
8 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
561:571 (1%)
597:607 (1%)
view
8 x 2 CppCustomVisualizer/dll
HelloWorld/Cpp/dll
vcxproj
CppCustomVisualizer.vcxproj
HelloWorld.vcxproj
48:55 (7%)
37:44 (7%)
view
Duplicated Units
The list of top 10 duplicated units.
See data for all 10 unit duplicates...
Size#FoldersFilesLinesCode
23 x 2 Iris/IrisCompiler/BackEnd
Iris/IrisCompiler/BackEnd
TextEmitter.cs
TextEmitter.cs
246:269 
287:310 
view
13 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
447:462 
522:537 
view
9 x 2 Iris/FrontEndTest
Iris/FrontEndTest
ParserTests.cs
ParserTests.cs
12:22 
434:444 
view
8 x 2 Iris/IrisCompiler/BackEnd
Iris/IrisCompiler/BackEnd
TextEmitter.cs
TextEmitter.cs
495:503 
505:513 
view
7 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SemanticTests.cs
SemanticTests.cs
270:278 
281:289 
view
7 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SemanticTests.cs
SemanticTests.cs
306:314 
317:325 
view
6 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SemanticTests.cs
SemanticTests.cs
102:108 
152:159 
view
6 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SemanticTests.cs
SyntaxErrorTests.cs
169:176 
78:85 
view
6 x 2 Iris/FrontEndTest
Iris/FrontEndTest
SemanticTests.cs
SyntaxErrorTests.cs
249:256 
61:68 
view
6 x 2 Iris/IrisCompiler/BackEnd
Iris/IrisCompiler/BackEnd
TextEmitter.cs
TextEmitter.cs
271:277 
279:285 
view