microsoft / WindowsCompositionSamples
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:
    • 4,498 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 361 duplicated lines
  • 60 duplicates
system8% (361 lines)
Duplication per Extension
xaml21% (172 lines)
cs3% (123 lines)
vcxproj37% (66 lines)
Duplication per Component (primary)
SampleGallery/Shared9% (93 lines)
ExpressionBuilder/ExpressionBuilder/ExpressionNodes10% (75 lines)
SamplesNative24% (66 lines)
SampleGallery/Pages25% (41 lines)
SamplesCommon/SamplesCommon2% (26 lines)
SampleGallery6% (24 lines)
ExpressionBuilder/ExpressionBuilder/ReferenceNodes11% (22 lines)
SamplesCommon/SamplesCommon/ImageLoader6% (14 lines)
ROOT0% (0 lines)
ExpressionBuilder/ExpressionBuilder0% (0 lines)
ExpressionBuilder/ExpressionBuilder/ExpressionValues0% (0 lines)
ExpressionBuilder/ExpressionBuilder/Properties0% (0 lines)
ExpressionBuilder0% (0 lines)
SamplesCommon/SamplesCommon/Properties0% (0 lines)

Duplication Between Components (50+ lines)

G SampleGallery/Pages SampleGallery/Pages SampleGallery/Shared SampleGallery/Shared SampleGallery/Pages--SampleGallery/Shared 62

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 60 duplicates...
Size#FoldersFilesLinesCode
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix3x2Node.cs
ExpressionBuilder.Matrix4x4Node.cs
78:99 (30%)
91:112 (22%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix3x2Node.cs
ExpressionBuilder.Vector4Node.cs
78:99 (30%)
82:103 (28%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix4x4Node.cs
ExpressionBuilder.Vector2Node.cs
91:112 (22%)
76:97 (31%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Vector2Node.cs
ExpressionBuilder.Vector3Node.cs
76:97 (31%)
79:100 (30%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix4x4Node.cs
ExpressionBuilder.Vector3Node.cs
91:112 (22%)
79:100 (30%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix3x2Node.cs
ExpressionBuilder.Vector3Node.cs
78:99 (30%)
79:100 (30%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix4x4Node.cs
ExpressionBuilder.Vector4Node.cs
91:112 (22%)
82:103 (28%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix3x2Node.cs
ExpressionBuilder.Vector2Node.cs
78:99 (30%)
76:97 (31%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Vector3Node.cs
ExpressionBuilder.Vector4Node.cs
79:100 (30%)
82:103 (28%)
view
15 x 2 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Vector2Node.cs
ExpressionBuilder.Vector4Node.cs
76:97 (31%)
82:103 (28%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
134:145 (6%)
164:175 (6%)
view
11 x 2 ExpressionBuilder/ExpressionBuilder/ReferenceNodes
ExpressionBuilder/ExpressionBuilder/ReferenceNodes
ExpressionBuilder.InsetClipReferenceN...
ExpressionBuilder.SurfaceBrushReferen...
24:37 (64%)
27:40 (57%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
164:175 (6%)
194:205 (6%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
134:145 (6%)
194:205 (6%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
119:130 (6%)
179:190 (6%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
119:130 (6%)
149:160 (6%)
view
11 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
149:160 (6%)
179:190 (6%)
view
10 x 2 SampleGallery/Pages
SampleGallery/Pages
xaml
BaseCategoryPage.xaml
HomePage.xaml
18:33 (30%)
15:31 (27%)
view
8 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
137:145 (4%)
182:190 (4%)
view
8 x 2 SamplesNative
SamplesNative
vcxproj
SamplesNative.vcxproj
SamplesNative.vcxproj
122:130 (4%)
167:175 (4%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
9 x 5 ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder/Expres...Builder/ExpressionNodes
ExpressionBuilder.Matrix3x2Node.cs
ExpressionBuilder.Matrix4x4Node.cs
ExpressionBuilder.Vector2Node.cs
ExpressionBuilder.Vector3Node.cs
ExpressionBuilder.Vector4Node.cs
88:97 
101:110 
86:95 
89:98 
92:101 
view