microsoft / vs-extension-testing
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
  • 5% duplication:
    • 4,583 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 233 duplicated lines
  • 17 duplicates
system5% (233 lines)
Duplication per Extension
yml21% (91 lines)
cs3% (90 lines)
ps12% (30 lines)
vsixmanifest61% (22 lines)
Duplication per Component (primary)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit.Shared4% (90 lines)
azure-pipelines13% (80 lines)
tools5% (22 lines)
ROOT8% (19 lines)
src/Microsoft.VisualStudio.IntegrationTestService.Dev1155% (11 lines)
src/Microsoft.VisualStudio.IntegrationTestService.Dev1750% (11 lines)
azure-pipelines/artifacts0% (0 lines)
azure-pipelines/variables0% (0 lines)
src0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.SourceGenerator0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit.IntegrationTests.Shared0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit.IntegrationTests0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit.Legacy.IntegrationTests0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit.Legacy0% (0 lines)
src/Microsoft.VisualStudio.Extensibility.Testing.Xunit0% (0 lines)
src/Microsoft.VisualStudio.IntegrationTestService.Shared0% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.110% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.120% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.140% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.150% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.160% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.170% (0 lines)
src/Microsoft.VisualStudio.VsixInstaller.Shared0% (0 lines)
Longest Duplicates
The list of 17 longest duplicates.
See data for all 17 duplicates...
Size#FoldersFilesLinesCode
12 x 2 src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
IdeSettingsAttribute.cs
IdeTheoryAttribute.cs
13:33 (75%)
15:35 (70%)
view
12 x 2 src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
IdeFactAttribute.cs
IdeSettingsAttribute.cs
15:35 (70%)
13:33 (75%)
view
12 x 2 src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
src/Microsoft.VisualStud...ty.Testing.Xunit.Shared
IdeFactAttribute.cs
IdeTheoryAttribute.cs
15:35 (70%)
15:35 (70%)
view
11 x 2 src/Microsoft.VisualStud...rationTestService.Dev11
src/Microsoft.VisualStud...rationTestService.Dev17
vsixmanifest
source.extension.vsixmanifest
source.extension.vsixmanifest
1:16 (64%)
1:16 (57%)
view
11 x 2 ROOT
azure-pipelines
azure-pipelines.yml
official.yml
1:11 (55%)
1:11 (11%)
view
10 x 2 azure-pipelines
azure-pipelines
official.yml
release.yml
91:100 (10%)
59:68 (14%)
view
9 x 2 azure-pipelines
azure-pipelines
official.yml
release.yml
81:89 (9%)
49:57 (13%)
view
8 x 2 ROOT
tools
init.ps1
Install-DotNetSdk.ps1
13:20 (6%)
10:17 (4%)
view
7 x 2 azure-pipelines
azure-pipelines
official.yml
release.yml
83:89 (7%)
17:23 (10%)
view
7 x 2 tools
tools
Check-DotNetRuntime.ps1
Check-DotNetSdk.ps1
12:19 (18%)
7:14 (20%)
view
7 x 2 src/Microsoft.VisualStud....Xunit.Shared/Threading
src/Microsoft.VisualStud....Xunit.Shared/Threading
IdeInstanceTestCase.cs
IdeTestCase.cs
55:68 (28%)
27:40 (50%)
view
7 x 2 src/Microsoft.VisualStud....Xunit.Shared/InProcess
src/Microsoft.VisualStud...nit.Shared/OutOfProcess
TestInvoker_InProc.cs
TestInvoker_OutOfProc.cs
38:44 (15%)
39:45 (16%)
view
7 x 2 azure-pipelines
azure-pipelines
release.yml
release.yml
17:23 (10%)
51:57 (10%)
view
7 x 2 src/Microsoft.VisualStud....Xunit.Shared/Threading
src/Microsoft.VisualStud....Xunit.Shared/Threading
InProcessIdeTestInvoker.cs
InProcessIdeTestInvoker.cs
135:141 (5%)
248:254 (5%)
view
6 x 2 azure-pipelines
azure-pipelines
official.yml
release-deployment-prep.yml
57:62 (6%)
3:8 (66%)
view
6 x 2 src/Microsoft.VisualStud....Xunit.Shared/Threading
src/Microsoft.VisualStud....Xunit.Shared/Threading
IdeTestCaseRunner.cs
IdeTheoryTestCaseRunner.cs
30:41 (22%)
30:41 (22%)
view
6 x 2 azure-pipelines
azure-pipelines
release.yml
vs-insertion.yml
1:7 (8%)
1:7 (12%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
14 x 2 src/Microsoft.VisualStud....Xunit.Shared/Threading
src/Microsoft.VisualStud....Xunit.Shared/Threading
IdeTestCaseRunner.cs
IdeTheoryTestCaseRunner.cs
44:60 
44:60 
view
12 x 2 src/Microsoft.VisualStud....Xunit.Shared/Threading
src/Microsoft.VisualStud....Xunit.Shared/Threading
IdeInstanceTestCase.cs
IdeTestCase.cs
55:69 
27:41 
view
7 x 2 src/Microsoft.VisualStud...IntegrationTests.Shared
src/Microsoft.VisualStud...IntegrationTests.Shared
IdeFactTest.cs
IdeFactTest.cs
107:116 
119:128 
view