microsoft / nodejstools
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:
    • 45,809 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,695 duplicated lines
  • 271 duplicates
system5% (2,695 lines)
Duplication per Extension
cs3% (1,407 lines)
vstemplate43% (402 lines)
targets43% (290 lines)
js15% (219 lines)
reg67% (124 lines)
xaml5% (78 lines)
ts39% (55 lines)
vsixmanifest37% (46 lines)
pug40% (28 lines)
css93% (28 lines)
html7% (18 lines)
Duplication per Component (primary)
Nodejs/Product/Nodejs5% (2,008 lines)
Nodejs/Product/TargetsVsix79% (298 lines)
Nodejs/Prerequisites50% (124 lines)
Nodejs/Product/Profiling4% (85 lines)
Nodejs/Product/TestAdapter5% (84 lines)
Nodejs/Product/TestAdapterImpl6% (50 lines)
Nodejs/Product/TypeScript25% (18 lines)
Nodejs/Product/NodejsToolsVsix64% (18 lines)
Nodejs/Product/TestAdapterVsix37% (10 lines)
Build0% (0 lines)
Common/Product/SharedProject0% (0 lines)
Nodejs0% (0 lines)
Nodejs/Product/LogConverter0% (0 lines)
Nodejs/Product/Npm0% (0 lines)
Nodejs/Product/PressAnyKey0% (0 lines)
Nodejs/Product0% (0 lines)
Nodejs/Product/ProjectWizard0% (0 lines)
Nodejs/Product/TestAdapterNetStandard0% (0 lines)
Nodejs/Product/WebRole0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 271 duplicates...
Size#FoldersFilesLinesCode
53 x 2 Nodejs/Product/TargetsVsix
Nodejs/Product/TargetsVsix
targets
Microsoft.NodejsTools.targets
Microsoft.NodejsToolsV2.targets
123:214 (30%)
126:217 (30%)
view
42 x 2 Nodejs/Product/Nodejs/Pr...plates/AzureExpress4App
Nodejs/Product/Nodejs/ProjectTemplates/Express4App
app.js
app.js
3:65 (95%)
3:65 (95%)
view
32 x 2 Nodejs/Product/TargetsVsix
Nodejs/Product/TargetsVsix
targets
Microsoft.NodejsTools.targets
Microsoft.NodejsToolsV2.targets
216:285 (18%)
218:287 (18%)
view
31 x 2 Nodejs/Prerequisites
Nodejs/Prerequisites
reg
EnableSkipVerification.reg
EnableSkipVerificationX86.reg
1:32 (50%)
1:32 (100%)
view
31 x 2 Nodejs/Prerequisites
Nodejs/Prerequisites
reg
DisableSkipVerification.reg
DisableSkipVerificationX86.reg
1:32 (50%)
1:32 (100%)
view
19 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
CommonPackage.cs
CommonProjectPackage.cs
249:300 (13%)
187:238 (22%)
view
18 x 2 Nodejs/Product/TestAdapterImpl
Nodejs/Product/TypeScript
VsProjectExtensions.cs
TypeScriptHelpers.cs
95:120 (17%)
117:143 (25%)
view
17 x 2 Nodejs/Product/TargetsVsix
Nodejs/Product/TargetsVsix
targets
Microsoft.NodejsTools.targets
Microsoft.NodejsToolsV2.targets
61:85 (9%)
65:89 (9%)
view
16 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
VsTaskExtensions.cs
VsTaskExtensions.cs
56:93 (20%)
133:170 (20%)
view
15 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
ProjectFactory.cs
ProjectFactory.cs
525:541 (4%)
593:609 (4%)
view
15 x 2 Nodejs/Product/Nodejs
Nodejs/Product/Nodejs/SharedProject/Wpf
NodejsPackage.cs
Dialogs.cs
247:275 (10%)
193:221 (11%)
view
14 x 2 Nodejs/Product/TargetsVsix
Nodejs/Product/TargetsVsix
targets
Microsoft.NodejsTools.targets
Microsoft.NodejsToolsV2.targets
298:315 (7%)
300:317 (8%)
view
14 x 2 Nodejs/Product/Nodejs/Pr...plates/AzureExpress4App
Nodejs/Product/Nodejs/ProjectTemplates/Express4App
vstemplate
AzureExpress4App.vstemplate
ExpressApp.vstemplate
19:35 (33%)
21:37 (33%)
view
14 x 2 Nodejs/Product/TestAdapter/TestFrameworks/Angular
Nodejs/Product/TestAdapter/TestFrameworks/Angular
Angular.js
Angular.js
56:72 (11%)
120:136 (11%)
view
14 x 2 Nodejs/Product/Nodejs/Pr...peScriptAzureExpressApp
Nodejs/Product/Nodejs/Pr...es/TypeScriptExpressApp
app.ts
app.ts
34:53 (45%)
34:53 (45%)
view
13 x 2 Nodejs/Product/TargetsVsix
Nodejs/Product/TargetsVsix
targets
Microsoft.NodejsTools.targets
Microsoft.NodejsToolsV2.targets
95:120 (7%)
98:123 (7%)
view
13 x 2 Nodejs/Product/Nodejs/Project
Nodejs/Product/Nodejs/SharedProject
NodejsFileNodeProperties.cs
NodeProperties.cs
73:102 (29%)
578:607 (2%)
view
13 x 2 Nodejs/Product/Nodejs
Nodejs/Product/Nodejs/SharedProject/Wpf
NodejsPackage.cs
Dialogs.cs
276:294 (9%)
223:241 (9%)
view
12 x 2 Nodejs/Product/Profiling/Profiling
Nodejs/Product/Profiling/Profiling
CompareReportsView.cs
StandaloneTargetView.cs
121:148 (22%)
173:200 (15%)
view
12 x 2 Nodejs/Product/Nodejs/ProjectTemplates/Express4App
Nodejs/Product/Nodejs/Pr...es/TypeScriptExpressApp
vstemplate
ExpressApp.vstemplate
ExpressApp.vstemplate
16:30 (28%)
17:31 (27%)
view
Duplicated Units
The list of top 19 duplicated units.
See data for all 19 unit duplicates...
Size#FoldersFilesLinesCode
28 x 2 Nodejs/Product/TestAdapterImpl
Nodejs/Product/TypeScript
VsProjectExtensions.cs
TypeScriptHelpers.cs
93:122 
115:145 
view
19 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
CommonConfigProvider.cs
CommonConfigProvider.cs
57:78 
80:101 
view
16 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/TestAdapterImpl
StructuresEnums.cs
TestFilesUpdateWatcher.cs
317:334 
153:170 
view
13 x 2 Nodejs/Product/Nodejs/Debugger
Nodejs/Product/Nodejs/Debugger
NodeDebugger.cs
NodeDebugger.cs
109:126 
128:145 
view
13 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
FileChangeManager.cs
FileChangeManager.cs
33:50 
71:88 
view
12 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
UIThread.cs
UIThread.cs
141:154 
165:178 
view
11 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
ProjectConfig.cs
ProjectConfig.cs
724:737 
739:752 
view
10 x 2 Nodejs/Product/Npm/SPI
Nodejs/Product/Npm/SPI
PackageJson.cs
PackageJson.cs
84:94 
96:106 
view
9 x 2 Nodejs/Product/Nodejs/Jade/Tokenizer/States
Nodejs/Product/Nodejs/Jade/Tokens
AttributeState.cs
Tokenizer.cs
80:91 
391:402 
view
7 x 2 Nodejs/Product/Nodejs/Project
Nodejs/Product/Nodejs/SharedProject
NodejsFileNodeProperties.cs
NodeProperties.cs
78:85 
508:515 
view
7 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
EnumDependencies.cs
EnumDependencies.cs
15:23 
25:33 
view
7 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
FileNode.cs
FolderNode.cs
762:769 
288:295 
view
7 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
ProjectNode.cs
ReferenceNode.cs
1128:1135 
287:294 
view
7 x 3 Nodejs/Product/Profiling/Profiling
Nodejs/Product/Profiling/Profiling
Nodejs/Product/Profiling/Profiling
CompareReportsView.cs
ProfilingTargetView.cs
StandaloneTargetView.cs
137:144 
262:269 
189:196 
view
6 x 3 Common/Product/SharedProject
Nodejs/Product/Nodejs/NpmUI
Nodejs/Product/Nodejs/SharedProject
ProcessOutput.cs
NpmPackageInstallViewModel.cs
ExceptionExtensions.cs
723:729 
117:123 
13:19 
view
6 x 2 Nodejs/Product/Nodejs/Project
Nodejs/Product/Profiling/Profiling
NodejsProjectLauncher.cs
ProfiledProcess.cs
547:553 
127:133 
view
6 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
FolderNode.cs
ProjectNode.cs
297:303 
5260:5266 
view
6 x 2 Nodejs/Product/Nodejs/SharedProject
Nodejs/Product/Nodejs/SharedProject
FolderNode.cs
ProjectNode.cs
305:311 
5268:5274 
view
6 x 2 Nodejs/Product/TestAdapter
Nodejs/Product/TestAdapter
PackageJsonTestExecutor.cs
ProjectTestExecutor.cs
28:35 
14:22 
view