microsoft / azure-pipelines-tasks
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 4,771 units with 83,369 lines of code in units (61.6% of code).
    • 29 very long units (5,320 lines of code)
    • 180 long units (11,551 lines of code)
    • 1,130 medium size units (34,478 lines of code)
    • 1,283 small units (19,366 lines of code)
    • 2,149 very small units (12,654 lines of code)
6% | 13% | 41% | 23% | 15%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
ts6% | 13% | 41% | 23% | 15%
js4% | 26% | 40% | 14% | 13%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Tests-Legacy/L079% | 14% | 1% | 2% | 2%
Tasks/NuGetCommandV253% | 14% | 25% | 3% | 3%
Tasks/XcodeV559% | 10% | 9% | 12% | 7%
Tasks/DotNetCoreCLIV243% | 0% | 39% | 9% | 6%
Tasks/DownloadBuildArtifactsV041% | 0% | 22% | 22% | 13%
Tasks/AzureAppServiceManageV031% | 9% | 25% | 27% | 5%
Tasks/NuGetRestoreV179% | 0% | 20% | 0% | 0%
Tasks/CopyFilesV275% | 0% | 0% | 13% | 11%
Tasks/SshV046% | 21% | 7% | 4% | 20%
Tasks/MavenV321% | 0% | 47% | 16% | 13%
Tasks/NuGetInstallerV086% | 0% | 13% | 0% | 0%
Tasks/NuGetPublisherV087% | 0% | 0% | 12% | 0%
Tasks/MavenV220% | 0% | 48% | 17% | 13%
Tasks/UniversalPackagesV033% | 19% | 42% | 4% | 0%
Tasks/CopyFilesOverSSHV040% | 21% | 16% | 9% | 12%
Tasks/AzureMysqlDeploymentV116% | 0% | 32% | 29% | 21%
ROOT6% | 21% | 43% | 16% | 12%
Tasks/AzureRmWebAppDeploymentV34% | 11% | 49% | 24% | 10%
Tasks/AzureResourceGroupDeploymentV25% | 12% | 43% | 24% | 15%
Tasks/JenkinsDownloadArtifactsV19% | 18% | 17% | 43% | 10%
Tasks/CUrlUploaderV289% | 0% | 0% | 10% | 0%
Tasks/Common0% | 10% | 46% | 27% | 15%
Tasks/VsTestV20% | 25% | 46% | 14% | 13%
common-npm-packages/azure-arm-rest-v20% | 14% | 57% | 18% | 9%
common-npm-packages/azure-arm-rest0% | 13% | 61% | 16% | 8%
common-npm-packages/webdeployment-common-v40% | 23% | 45% | 20% | 11%
common-npm-packages/packaging-common-v30% | 13% | 40% | 25% | 20%
Tasks/AzureIoTEdgeV20% | 40% | 14% | 25% | 19%
Tasks/JenkinsQueueJobV20% | 18% | 42% | 17% | 21%
ci0% | 42% | 31% | 13% | 12%
Tasks/AzureResourceManagerTemplateDeploymentV30% | 26% | 42% | 20% | 10%
Tasks/AzureRmWebAppDeploymentV40% | 11% | 42% | 31% | 13%
Tasks/HelmDeployV00% | 26% | 24% | 16% | 31%
Tasks/DockerV20% | 54% | 27% | 8% | 9%
common-npm-packages/AzureRmDeploy-common-v30% | 4% | 51% | 31% | 11%
Tasks/GitHubReleaseV00% | 14% | 41% | 24% | 20%
Tasks/GitHubReleaseV10% | 14% | 41% | 24% | 20%
Tasks/FtpUploadV20% | 59% | 23% | 8% | 9%
Tasks/DockerV10% | 42% | 29% | 17% | 11%
Tasks/DockerV00% | 46% | 32% | 4% | 17%
common-npm-packages/ios-signing-common0% | 24% | 52% | 12% | 9%
Tasks/DownloadPackageV10% | 17% | 52% | 12% | 17%
Tasks/AzureFunctionAppV10% | 25% | 35% | 20% | 19%
Tests-Legacy/lib0% | 11% | 33% | 15% | 39%
Tasks/GradleV20% | 42% | 20% | 27% | 9%
Tasks/GradleV30% | 42% | 20% | 27% | 9%
Tasks/PublishTestResultsV20% | 40% | 10% | 29% | 19%
Tasks/AppCenterDistributeV30% | 14% | 53% | 24% | 7%
Tasks/NpmAuthenticateV00% | 74% | 0% | 25% | 0%
Tasks/PowerShellV20% | 92% | 0% | 0% | 7%
Tasks/ANTV10% | 38% | 53% | 0% | 7%
Tasks/AppCenterDistributeV20% | 13% | 55% | 22% | 7%
Tasks/AzurePowerShellV40% | 92% | 0% | 0% | 7%
Tasks/KubernetesV10% | 13% | 31% | 28% | 26%
Tasks/AppCenterDistributeV10% | 13% | 56% | 22% | 7%
Tasks/AzurePowerShellV50% | 92% | 0% | 0% | 7%
Tasks/AzureCLIV10% | 46% | 20% | 6% | 26%
Tasks/DownloadGitHubReleaseV00% | 40% | 10% | 45% | 3%
common-npm-packages/codecoverage-tools0% | 6% | 46% | 31% | 15%
common-npm-packages/artifacts-common0% | 20% | 37% | 28% | 14%
Tasks/AzureMonitorAlertsV00% | 35% | 17% | 33% | 13%
Tasks/XamarinAndroidV10% | 70% | 29% | 0% | 0%
Tasks/AzureCLIV20% | 25% | 22% | 19% | 32%
Tasks/PublishBuildArtifactsV10% | 61% | 18% | 11% | 8%
Tasks/DownloadGitHubNugetPackageV10% | 28% | 36% | 18% | 15%
Tasks/ContainerBuildV00% | 22% | 42% | 22% | 12%
Tasks/AzureStaticWebAppV00% | 67% | 22% | 10% | 0%
Tasks/XamariniOSV20% | 84% | 0% | 15% | 0%
Tasks/FtpUploadV10% | 35% | 46% | 0% | 18%
Tasks/XamarinTestCloudV10% | 46% | 0% | 33% | 19%
Tasks/NuGetV00% | 88% | 0% | 0% | 12%
Tasks/CmdLineV20% | 100% | 0% | 0% | 0%
Tasks/VsTestPlatformToolInstallerV10% | 17% | 62% | 0% | 20%
Tasks/ContainerStructureTestV00% | 19% | 56% | 11% | 12%
Tasks/InstallSSHKeyV00% | 19% | 52% | 4% | 24%
Tasks/PipAuthenticateV10% | 63% | 26% | 0% | 10%
Tasks/PublishCodeCoverageResultsV10% | 40% | 44% | 0% | 16%
Tasks/InstallAppleCertificateV20% | 68% | 31% | 0% | 0%
Tasks/AzureAppServiceSettingsV10% | 79% | 0% | 20% | 0%
Tasks/PipAuthenticateV00% | 47% | 36% | 0% | 16%
Tasks/DotNetCoreInstallerV00% | 25% | 57% | 5% | 10%
Tasks/ExtractFilesV10% | 18% | 42% | 28% | 10%
Tasks/ArchiveFilesV20% | 18% | 30% | 40% | 9%
Tasks/KubernetesManifestV00% | 4% | 44% | 31% | 19%
common-npm-packages/kubernetes-common-v20% | 5% | 31% | 31% | 31%
Tasks/PublishPipelineMetadataV00% | 47% | 23% | 29% | 0%
Tasks/TwineAuthenticateV10% | 34% | 36% | 28% | 0%
Tasks/NpmV00% | 27% | 26% | 6% | 40%
common-npm-packages/build-scripts0% | 36% | 30% | 0% | 33%
Tasks/UseDotNetV20% | 0% | 59% | 28% | 11%
common-npm-packages/docker-common-v20% | 0% | 35% | 37% | 26%
Tasks/DotNetCoreInstallerV10% | 0% | 54% | 31% | 14%
Tasks/AzureSpringCloudV00% | 0% | 53% | 36% | 10%
Tasks/AzureKeyVaultV20% | 0% | 58% | 27% | 14%
Tasks/AzureKeyVaultV10% | 0% | 57% | 28% | 14%
Tasks/DockerComposeV00% | 0% | 48% | 29% | 21%
Tasks/PackerBuildV10% | 0% | 31% | 35% | 32%
common-npm-packages/docker-common0% | 0% | 30% | 41% | 28%
Tasks/AzureWebAppV10% | 0% | 58% | 24% | 16%
common-npm-packages/codeanalysis-common0% | 0% | 33% | 45% | 21%
Tasks/NpmV10% | 0% | 56% | 33% | 10%
common-npm-packages/utility-common-v20% | 0% | 37% | 40% | 21%
Tasks/JavaToolInstallerV00% | 0% | 44% | 28% | 27%
Tasks/AzureNLBManagementV10% | 0% | 73% | 21% | 4%
Tasks/MysqlDeploymentOnMachineGroupV10% | 0% | 46% | 30% | 22%
Tasks/DownloadGitHubNpmPackageV10% | 0% | 43% | 41% | 15%
Tasks/AppCenterTestV10% | 0% | 53% | 30% | 16%
Tasks/MavenAuthenticateV00% | 0% | 55% | 33% | 11%
Tasks/TwineAuthenticateV00% | 0% | 71% | 22% | 5%
Tasks/PackerBuildV00% | 0% | 19% | 44% | 35%
Tasks/UseNodeV10% | 0% | 72% | 27% | 0%
Tasks/AzureVmssDeploymentV00% | 0% | 37% | 44% | 17%
Tasks/NodeToolV00% | 0% | 86% | 8% | 5%
Tasks/KubernetesV00% | 0% | 22% | 58% | 18%
Tasks/DownloadPackageV00% | 0% | 49% | 41% | 9%
Tasks/AzureWebAppContainerV10% | 0% | 60% | 23% | 15%
Tasks/BashV30% | 0% | 89% | 0% | 10%
Tasks/HelmInstallerV00% | 0% | 33% | 38% | 28%
Tasks/DownloadFileshareArtifactsV00% | 0% | 79% | 20% | 0%
Tasks/InstallAppleProvisioningProfileV10% | 0% | 75% | 24% | 0%
Tasks/GitHubCommentV00% | 0% | 44% | 47% | 8%
common-npm-packages/java-common0% | 0% | 51% | 31% | 16%
Tasks/DockerInstallerV00% | 0% | 59% | 0% | 40%
Tasks/IISWebAppDeploymentOnMachineGroupV00% | 0% | 100% | 0% | 0%
Tasks/UsePythonVersionV00% | 0% | 33% | 16% | 50%
ci/courtesy-push0% | 0% | 92% | 0% | 7%
Tasks/NuGetToolInstallerV00% | 0% | 64% | 35% | 0%
Tasks/PythonScriptV00% | 0% | 69% | 0% | 30%
common-npm-packages/MSBuildHelpers-v30% | 0% | 100% | 0% | 0%
Tasks/AzureFileCopyV20% | 0% | 75% | 0% | 24%
Tasks/AzureFileCopyV30% | 0% | 75% | 0% | 24%
common-npm-packages/az-blobstorage-provider-v20% | 0% | 17% | 62% | 19%
Tasks/CondaEnvironmentV10% | 0% | 20% | 25% | 54%
Tasks/CocoaPodsV00% | 0% | 100% | 0% | 0%
Tasks/FileTransformV20% | 0% | 100% | 0% | 0%
Tasks/CondaEnvironmentV00% | 0% | 25% | 39% | 34%
Tasks/FuncToolsInstallerV00% | 0% | 28% | 28% | 43%
Tasks/GoToolV00% | 0% | 33% | 28% | 38%
Tasks/PublishTestResultsV10% | 0% | 34% | 26% | 38%
Tasks/AzureFunctionAppContainerV10% | 0% | 29% | 51% | 18%
Tasks/UseRubyVersionV00% | 0% | 60% | 0% | 39%
Tasks/DecryptFileV10% | 0% | 100% | 0% | 0%
Tasks/FileTransformV10% | 0% | 100% | 0% | 0%
Tasks/PublishCodeCoverageResultsV20% | 0% | 46% | 38% | 15%
Tasks/GruntV00% | 0% | 72% | 0% | 27%
Tasks/GulpV00% | 0% | 72% | 0% | 27%
Tasks/GulpV10% | 0% | 72% | 0% | 27%
Tasks/DownloadSecureFileV10% | 0% | 100% | 0% | 0%
Tasks/AndroidSigningV20% | 0% | 43% | 56% | 0%
Tasks/AndroidSigningV30% | 0% | 45% | 54% | 0%
Tasks/NuGetToolInstallerV10% | 0% | 53% | 46% | 0%
Tasks/ShellScriptV20% | 0% | 100% | 0% | 0%
Tasks/OpenPolicyAgentInstallerV00% | 0% | 25% | 30% | 44%
Tasks/AzureFunctionOnKubernetesV00% | 0% | 0% | 40% | 59%
Tasks/DuffleInstallerV00% | 0% | 0% | 57% | 42%
common-npm-packages/securefiles-common0% | 0% | 0% | 64% | 35%
Tasks/CMakeV10% | 0% | 0% | 100% | 0%
Tasks/NuGetAuthenticateV00% | 0% | 0% | 100% | 0%
Tasks/DeleteFilesV10% | 0% | 0% | 56% | 44%
Tasks/MSBuildV10% | 0% | 0% | 100% | 0%
Tasks/HelmInstallerV10% | 0% | 0% | 33% | 66%
Tasks/KubectlInstallerV00% | 0% | 0% | 0% | 100%
Tasks/GoV00% | 0% | 0% | 0% | 100%
Tasks/ReviewAppV00% | 0% | 0% | 0% | 100%
Tasks/PyPIPublisherV00% | 0% | 0% | 0% | 100%
ci/verifyMinAgentDemands0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
describe()
in Tests-Legacy/L0/VsTest/_suite.ts
1185 41 2
async function run()
in Tasks/XcodeV5/xcode.ts
365 89 0
async function main()
in Tasks/DownloadBuildArtifactsV0/main.ts
243 52 0
describe()
in Tests-Legacy/L0/Common-codecoverage-tools/_suite.ts
212 2 2
describe()
in Tests-Legacy/L0/AzureCLI/_suite.ts
186 2 2
export async function run()
in Tasks/NuGetCommandV2/nugetpublisher.ts
184 32 1
async function run()
in Tasks/AzureAppServiceManageV0/azureappservicemanage.ts
171 47 0
async function main()
in Tasks/NuGetRestoreV1/nugetinstaller.ts
165 28 0
export async function run()
in Tasks/NuGetCommandV2/nugetrestore.ts
164 33 1
async function main()
in Tasks/CopyFilesV2/copyfiles.ts
155 35 0
describe()
in Tests-Legacy/L0/CopyFilesOverSSH/_suite.ts
140 2 2
async function execBuild()
in Tasks/MavenV3/maventask.ts
136 23 0
async function run()
in Tasks/SshV0/ssh.ts
136 22 0
async function main()
in Tasks/NuGetInstallerV0/nugetinstaller.ts
135 25 0
async function main()
in Tasks/NuGetPublisherV0/nugetpublisher.ts
135 23 0
describe()
in Tests-Legacy/L0/PublishTestResults/_suite.ts
133 1 2
async function execBuild()
in Tasks/MavenV2/maventask.ts
128 22 0
export async function run()
in Tasks/UniversalPackagesV0/universalpublish.ts
126 22 1
export async function run()
in Tasks/NuGetCommandV2/nugetpack.ts
125 20 1
async function run()
in Tasks/CopyFilesOverSSHV0/copyfilesoverssh.ts
120 20 0