microsoft / azure-pipelines-extensions
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
  • 47% duplication:
    • 21,899 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 10,423 duplicated lines
  • 542 duplicates
system47% (10,423 lines)
Duplication per Extension
ps166% (5,585 lines)
js44% (2,032 lines)
ts27% (1,453 lines)
css100% (464 lines)
less100% (458 lines)
cs18% (139 lines)
tsx10% (108 lines)
handlebars88% (82 lines)
psm118% (38 lines)
html50% (36 lines)
psd163% (28 lines)
Duplication per Component (primary)
Extensions/IISWebAppDeploy89% (4,184 lines)
Extensions/GoogleAnalyticsExperiments73% (1,465 lines)
Extensions/Optimizely70% (1,465 lines)
TaskModules/powershell46% (1,423 lines)
Extensions/Terraform87% (708 lines)
Extensions/ArtifactEngine14% (443 lines)
Extensions/ExternalTfs25% (181 lines)
Extensions/CircleCI42% (109 lines)
Extensions/Common4% (86 lines)
Extensions/TeamCity76% (81 lines)
Extensions/AzureExp26% (66 lines)
ServerTaskHelper/HttpRequestSampleWithoutHandler22% (40 lines)
ROOT3% (38 lines)
ServerTaskHelper/HttpRequestHandler77% (38 lines)
ServerTaskHelper/AzureFunctionSample20% (31 lines)
ServerTaskHelper/AzureFunctionHandler63% (21 lines)
Extensions/BitBucket10% (19 lines)
Extensions/Ansible2% (16 lines)
ServerTaskHelper/ServiceBusMessageHandler9% (9 lines)
Extensions/CopyStageVariableToReleaseVariable0% (0 lines)
Extensions/DataSources0% (0 lines)
ServerTaskHelper/DistributedTask.ServerTask.Remote.Common0% (0 lines)

Duplication Between Components (50+ lines)

G Extensions/GoogleAnalyticsExperiments Extensions/GoogleAnalyticsExperiments Extensions/Optimizely Extensions/Optimizely Extensions/GoogleAnalyticsExperiments--Extensions/Optimizely 2906 Extensions/IISWebAppDeploy Extensions/IISWebAppDeploy TaskModules/powershell TaskModules/powershell Extensions/IISWebAppDeploy--TaskModules/powershell 2174 Extensions/CircleCI Extensions/CircleCI Extensions/TeamCity Extensions/TeamCity Extensions/CircleCI--Extensions/TeamCity 108 Extensions/ExternalTfs Extensions/ExternalTfs Extensions/CircleCI--Extensions/ExternalTfs 62 Extensions/ExternalTfs--Extensions/TeamCity 76 Extensions/ArtifactEngine Extensions/ArtifactEngine Extensions/ArtifactEngine--Extensions/TeamCity 68 Extensions/ArtifactEngine--Extensions/ExternalTfs 50 ServerTaskHelper/HttpRequestHandler ServerTaskHelper/HttpRequestHandler ServerTaskHelper/HttpRequestSampleWithoutHandler ServerTaskHelper/HttpRequestSampleWithoutHandler ServerTaskHelper/HttpRequestHandler--ServerTaskHelper/HttpRequestSampleWithoutHandler 56

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 542 duplicates...
Size#FoldersFilesLinesCode
903 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
2:1400 (100%)
2:1400 (100%)
view
787 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV2
Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV3
AppCmdOnTargetMachines.ps1
AppCmdOnTargetMachines.ps1
1:980 (100%)
1:980 (100%)
view
425 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV2
Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV3
Utility.ps1
Utility.ps1
2:490 (99%)
2:490 (99%)
view
232 x 2 Extensions/GoogleAnalyti...Contribution/static/css
Extensions/Optimizely/Sr...Contribution/static/css
app.css
app.css
1:232 (100%)
1:232 (100%)
view
229 x 2 Extensions/GoogleAnalyti...Contribution/static/css
Extensions/Optimizely/Sr...Contribution/static/css
app.less
app.less
1:279 (100%)
1:279 (100%)
view
228 x 2 Extensions/IISWebAppDepl...eploy/SqlDacpacDeployV1
Extensions/IISWebAppDepl...eploy/SqlDacpacDeployV2
DeployToSqlServer.ps1
DeployToSqlServer.ps1
1:261 (100%)
1:261 (100%)
view
223 x 2 Extensions/Terraform/Src...ask/TerraformTaskV1/src
Extensions/Terraform/Src...ask/TerraformTaskV2/src
base-terraform-command-handler.ts
base-terraform-command-handler.ts
7:319 (100%)
7:319 (100%)
view
186 x 2 Extensions/IISWebAppDepl...eploy/IISWebAppDeployV1
Extensions/IISWebAppDepl...eploy/IISWebAppDeployV2
MsDeployOnTargetMachines.ps1
MsDeployOnTargetMachines.ps1
56:272 (81%)
56:272 (81%)
view
100 x 2 TaskModules/powershell/Azure
TaskModules/powershell/Azure
AzSpnCreation.ps1
SPNCreation.ps1
1:122 (43%)
1:122 (42%)
view
95 x 2 Extensions/IISWebAppDepl...eploy/IISWebAppDeployV1
Extensions/IISWebAppDepl...eploy/IISWebAppDeployV2
DeployIISWebApp.ps1
DeployIISWebApp.ps1
1:113 (100%)
1:113 (100%)
view
68 x 2 TaskModules/powershell/W...ttp-Https-With-Makecert
TaskModules/powershell/WinRM/WinRM-Http-Https
ConfigureWinRM.ps1
ConfigureWinRM.ps1
1:85 (52%)
1:85 (56%)
view
53 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV2
Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV3
Main.ps1
Main.ps1
78:140 (39%)
83:145 (37%)
view
52 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV2
TaskModules/powershell/TaskModuleIISManageUtility
AppCmdOnTargetMachines.ps1
AppCmdOnTargetMachines.ps1
345:407 (6%)
287:349 (7%)
view
52 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV3
TaskModules/powershell/TaskModuleIISManageUtility
AppCmdOnTargetMachines.ps1
AppCmdOnTargetMachines.ps1
345:407 (6%)
287:349 (7%)
view
48 x 2 TaskModules/powershell/W...ttp-Https-With-Makecert
TaskModules/powershell/WinRM/WinRM-Http-Https
ConfigureWinRM.ps1
ConfigureWinRM.ps1
101:164 (37%)
90:153 (40%)
view
46 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV3
TaskModules/powershell/TaskModuleIISManageUtility
AppCmdOnTargetMachines.ps1
AppCmdOnTargetMachines.ps1
552:606 (5%)
483:537 (6%)
view
46 x 2 Extensions/IISWebAppDepl...AppMgmt/IISWebAppMgmtV2
TaskModules/powershell/TaskModuleIISManageUtility
AppCmdOnTargetMachines.ps1
AppCmdOnTargetMachines.ps1
552:606 (5%)
483:537 (6%)
view
42 x 2 Extensions/GoogleAnalyti...Contribution/static/css
Extensions/Optimizely/Sr...Contribution/static/css
app.css
app.less
162:203 (18%)
198:246 (18%)
view
42 x 2 Extensions/IISWebAppDepl...eploy/IISWebAppDeployV1
Extensions/IISWebAppDepl...eploy/IISWebAppDeployV2
MsDeployOnTargetMachines.ps1
MsDeployOnTargetMachines.ps1
1:54 (18%)
1:54 (18%)
view
42 x 2 Extensions/Optimizely/Sr...Contribution/static/css
Extensions/Optimizely/Sr...Contribution/static/css
app.css
app.less
162:203 (18%)
198:246 (18%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 76 unit duplicates...
Size#FoldersFilesLinesCode
107 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
1157:1281 
1157:1281 
view
590 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
671:1400 
671:1400 
view
54 x 2 Extensions/Terraform/Src...ask/TerraformTaskV1/src
Extensions/Terraform/Src...ask/TerraformTaskV2/src
base-terraform-command-handler.ts
base-terraform-command-handler.ts
134:203 
135:203 
view
51 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
839:895 
839:895 
view
46 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
425:476 
425:476 
view
33 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
301:343 
301:343 
view
31 x 2 Extensions/AzureExp/Src/Tasks/ManageExperimentV1
Extensions/AzureExp/Src/...s/ProvisionExperimentV1
expauthorizer.ts
expauthorizer.ts
12:48 
12:48 
view
31 x 2 Extensions/ExternalTfs/S...DownloadArtifactsTfsGit
Extensions/ExternalTfs/S...ifactsTfsVersionControl
downloadTfGit.js
downloadTfsVersionControl.js
121:155 
37:69 
view
552 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
3:669 
3:669 
view
31 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
51:82 
51:82 
view
31 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
245:280 
245:280 
view
29 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
617:651 
617:651 
view
25 x 2 Extensions/Terraform/Src...ask/TerraformTaskV1/src
Extensions/Terraform/Src...ask/TerraformTaskV2/src
base-terraform-command-handler.ts
base-terraform-command-handler.ts
212:242 
212:242 
view
24 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
1349:1373 
1349:1373 
view
29 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
917:950 
917:950 
view
23 x 2 Extensions/Terraform/Src...ask/TerraformTaskV1/src
Extensions/Terraform/Src...ask/TerraformTaskV2/src
base-terraform-command-handler.ts
base-terraform-command-handler.ts
244:272 
244:272 
view
21 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
29:50 
29:50 
view
20 x 3 Extensions/CircleCI/Src/...wnloadCircleCIArtifacts
Extensions/ExternalTfs/S...dExternalBuildArtifacts
Extensions/TeamCity/Src/...wnloadTeamCityArtifacts
download.ts
download.ts
download.ts
31:51 
34:54 
32:52 
view
44 x 2 Extensions/GoogleAnalyti.../Src/UIContribution/lib
Extensions/Optimizely/Src/UIContribution/lib
VSS.SDK.js
VSS.SDK.js
531:575 
531:575 
view
20 x 2 Extensions/Terraform/Src...ask/TerraformTaskV1/src
Extensions/Terraform/Src...ask/TerraformTaskV2/src
base-terraform-command-handler.ts
base-terraform-command-handler.ts
281:305 
281:305 
view