microsoft / azure-pipelines-tasks
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 4,771 units with 83,369 lines of code in units (61.6% of code).
    • 2 very complex units (608 lines of code)
    • 10 complex units (2,413 lines of code)
    • 299 medium complex units (16,063 lines of code)
    • 755 simple units (21,899 lines of code)
    • 3,705 very simple units (42,386 lines of code)
<1% | 2% | 19% | 26% | 50%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
ts<1% | 2% | 19% | 26% | 51%
js0% | 4% | 17% | 35% | 43%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
Tasks/XcodeV559% | 0% | 10% | 1% | 27%
Tasks/DownloadBuildArtifactsV041% | 0% | 0% | 10% | 47%
Tests-Legacy/L00% | 50% | 0% | 1% | 48%
Tasks/NuGetCommandV20% | 39% | 26% | 28% | 6%
Tasks/AzureAppServiceManageV00% | 31% | 17% | 20% | 29%
Tasks/NuGetRestoreV10% | 79% | 0% | 10% | 10%
Tasks/CopyFilesV20% | 75% | 0% | 0% | 24%
ROOT0% | 6% | 17% | 30% | 44%
Tasks/AzureResourceGroupDeploymentV20% | 5% | 12% | 28% | 53%
Tasks/AzureRmWebAppDeploymentV40% | 5% | 12% | 28% | 53%
Tasks/JenkinsDownloadArtifactsV10% | 7% | 20% | 12% | 59%
Tasks/Common0% | 0% | 18% | 26% | 54%
common-npm-packages/azure-arm-rest-v20% | 0% | 28% | 26% | 45%
common-npm-packages/azure-arm-rest0% | 0% | 29% | 27% | 43%
Tasks/VsTestV20% | 0% | 33% | 28% | 38%
Tasks/AzureRmWebAppDeploymentV30% | 0% | 30% | 31% | 37%
common-npm-packages/webdeployment-common-v40% | 0% | 41% | 31% | 27%
common-npm-packages/AzureRmDeploy-common-v30% | 0% | 15% | 22% | 62%
Tasks/DotNetCoreCLIV20% | 0% | 63% | 22% | 14%
common-npm-packages/packaging-common-v30% | 0% | 11% | 32% | 55%
Tasks/AzureResourceManagerTemplateDeploymentV30% | 0% | 31% | 29% | 39%
Tasks/GitHubReleaseV00% | 0% | 19% | 34% | 46%
Tasks/GitHubReleaseV10% | 0% | 19% | 34% | 46%
Tasks/AzureIoTEdgeV20% | 0% | 31% | 18% | 50%
Tasks/HelmDeployV00% | 0% | 26% | 18% | 54%
Tasks/JenkinsQueueJobV20% | 0% | 14% | 44% | 41%
Tasks/CopyFilesOverSSHV00% | 0% | 61% | 8% | 29%
Tasks/MavenV30% | 0% | 25% | 36% | 38%
Tests-Legacy/lib0% | 0% | 14% | 31% | 54%
Tasks/MavenV20% | 0% | 24% | 36% | 38%
Tasks/UseDotNetV20% | 0% | 21% | 43% | 35%
Tasks/FtpUploadV20% | 0% | 59% | 0% | 40%
Tasks/DockerV10% | 0% | 42% | 0% | 57%
common-npm-packages/kubernetes-common-v20% | 0% | 14% | 23% | 62%
Tasks/DockerV00% | 0% | 46% | 15% | 38%
Tasks/SshV00% | 0% | 46% | 21% | 31%
Tasks/NuGetInstallerV00% | 0% | 86% | 13% | 0%
Tasks/NuGetPublisherV00% | 0% | 87% | 0% | 12%
Tasks/UniversalPackagesV00% | 0% | 33% | 30% | 35%
Tasks/AppCenterDistributeV20% | 0% | 19% | 16% | 64%
Tasks/DockerV20% | 0% | 36% | 38% | 24%
Tasks/KubernetesV10% | 0% | 19% | 18% | 61%
Tasks/AppCenterDistributeV10% | 0% | 18% | 16% | 64%
Tasks/XamarinAndroidV10% | 0% | 100% | 0% | 0%
Tasks/CUrlUploaderV20% | 0% | 89% | 0% | 10%
Tasks/PublishTestResultsV20% | 0% | 40% | 17% | 42%
Tasks/GradleV20% | 0% | 42% | 17% | 39%
Tasks/GradleV30% | 0% | 42% | 17% | 39%
Tasks/AppCenterDistributeV30% | 0% | 14% | 24% | 60%
Tasks/NpmAuthenticateV00% | 0% | 74% | 12% | 13%
Tasks/PowerShellV20% | 0% | 92% | 0% | 7%
Tasks/ANTV10% | 0% | 38% | 36% | 25%
Tasks/AzurePowerShellV40% | 0% | 92% | 0% | 7%
Tasks/AzurePowerShellV50% | 0% | 92% | 0% | 7%
Tasks/DotNetCoreInstallerV10% | 0% | 16% | 47% | 35%
Tasks/DownloadGitHubReleaseV00% | 0% | 40% | 10% | 48%
Tasks/AzureCLIV10% | 0% | 46% | 0% | 53%
common-npm-packages/artifacts-common0% | 0% | 20% | 27% | 51%
Tasks/AzureMonitorAlertsV00% | 0% | 35% | 17% | 47%
Tasks/NpmV10% | 0% | 22% | 43% | 33%
Tasks/AzureCLIV20% | 0% | 25% | 28% | 45%
Tasks/PublishBuildArtifactsV10% | 0% | 61% | 0% | 38%
Tasks/ExtractFilesV10% | 0% | 25% | 40% | 33%
Tasks/ContainerBuildV00% | 0% | 22% | 34% | 42%
Tasks/AzureStaticWebAppV00% | 0% | 67% | 0% | 32%
Tasks/XamariniOSV20% | 0% | 84% | 0% | 15%
common-npm-packages/ios-signing-common0% | 0% | 13% | 53% | 32%
Tasks/DownloadPackageV10% | 0% | 10% | 0% | 89%
Tasks/XamarinTestCloudV10% | 0% | 46% | 0% | 53%
Tasks/NuGetV00% | 0% | 88% | 0% | 12%
ci0% | 0% | 11% | 55% | 32%
Tasks/AzureFunctionAppV10% | 0% | 13% | 44% | 42%
Tasks/VsTestPlatformToolInstallerV10% | 0% | 17% | 46% | 36%
Tasks/ContainerStructureTestV00% | 0% | 19% | 18% | 61%
Tasks/PublishCodeCoverageResultsV10% | 0% | 40% | 44% | 16%
Tasks/InstallAppleCertificateV20% | 0% | 68% | 31% | 0%
Tasks/AzureAppServiceSettingsV10% | 0% | 79% | 0% | 20%
Tasks/DotNetCoreInstallerV00% | 0% | 25% | 34% | 40%
Tasks/ArchiveFilesV20% | 0% | 18% | 37% | 44%
Tasks/PublishPipelineMetadataV00% | 0% | 47% | 0% | 52%
common-npm-packages/build-scripts0% | 0% | 36% | 14% | 48%
Tasks/PackerBuildV10% | 0% | 6% | 20% | 72%
Tasks/FtpUploadV10% | 0% | 22% | 35% | 42%
Tasks/BashV30% | 0% | 58% | 0% | 41%
Tasks/AzureMysqlDeploymentV10% | 0% | 5% | 13% | 80%
Tasks/MysqlDeploymentOnMachineGroupV10% | 0% | 12% | 14% | 73%
common-npm-packages/utility-common-v20% | 0% | 6% | 15% | 77%
Tasks/HelmInstallerV00% | 0% | 17% | 16% | 66%
Tasks/DownloadGitHubNpmPackageV10% | 0% | 9% | 45% | 44%
common-npm-packages/MSBuildHelpers-v30% | 0% | 100% | 0% | 0%
Tasks/GitHubCommentV00% | 0% | 25% | 31% | 42%
Tasks/KubernetesManifestV00% | 0% | 2% | 37% | 59%
Tasks/JavaToolInstallerV00% | 0% | 4% | 32% | 63%
common-npm-packages/docker-common-v20% | 0% | 0% | 26% | 73%
common-npm-packages/codeanalysis-common0% | 0% | 0% | 36% | 63%
common-npm-packages/codecoverage-tools0% | 0% | 0% | 16% | 83%
common-npm-packages/docker-common0% | 0% | 0% | 24% | 75%
Tasks/MavenAuthenticateV00% | 0% | 0% | 70% | 29%
Tasks/DockerComposeV00% | 0% | 0% | 35% | 64%
Tasks/InstallSSHKeyV00% | 0% | 0% | 52% | 47%
Tasks/DownloadGitHubNugetPackageV10% | 0% | 0% | 65% | 34%
Tasks/AzureKeyVaultV20% | 0% | 0% | 35% | 64%
Tasks/AzureWebAppV10% | 0% | 0% | 42% | 57%
Tasks/AzureKeyVaultV10% | 0% | 0% | 35% | 64%
Tasks/AzureSpringCloudV00% | 0% | 0% | 25% | 74%
Tasks/AppCenterTestV10% | 0% | 0% | 46% | 53%
Tasks/PipAuthenticateV00% | 0% | 0% | 83% | 16%
Tasks/PipAuthenticateV10% | 0% | 0% | 89% | 10%
Tasks/NpmV00% | 0% | 0% | 39% | 60%
Tasks/KubernetesV00% | 0% | 0% | 16% | 83%
Tasks/UseNodeV10% | 0% | 0% | 40% | 59%
Tasks/NodeToolV00% | 0% | 0% | 50% | 50%
Tasks/CmdLineV20% | 0% | 0% | 100% | 0%
Tasks/PackerBuildV00% | 0% | 0% | 9% | 90%
Tasks/UsePythonVersionV00% | 0% | 0% | 49% | 50%
common-npm-packages/java-common0% | 0% | 0% | 61% | 38%
Tasks/DownloadFileshareArtifactsV00% | 0% | 0% | 79% | 20%
Tasks/InstallAppleProvisioningProfileV10% | 0% | 0% | 75% | 24%
Tasks/TwineAuthenticateV10% | 0% | 0% | 34% | 65%
Tasks/TwineAuthenticateV00% | 0% | 0% | 27% | 72%
Tasks/IISWebAppDeploymentOnMachineGroupV00% | 0% | 0% | 100% | 0%
Tasks/NuGetToolInstallerV00% | 0% | 0% | 64% | 35%
Tasks/PythonScriptV00% | 0% | 0% | 69% | 30%
Tasks/CondaEnvironmentV10% | 0% | 0% | 20% | 79%
Tasks/AzureWebAppContainerV10% | 0% | 0% | 22% | 77%
Tasks/FileTransformV20% | 0% | 0% | 100% | 0%
Tasks/CondaEnvironmentV00% | 0% | 0% | 25% | 74%
Tasks/DockerInstallerV00% | 0% | 0% | 29% | 70%
Tasks/GruntV00% | 0% | 0% | 72% | 27%
Tasks/GulpV00% | 0% | 0% | 72% | 27%
Tasks/GulpV10% | 0% | 0% | 72% | 27%
Tasks/DownloadSecureFileV10% | 0% | 0% | 100% | 0%
Tasks/AndroidSigningV20% | 0% | 0% | 43% | 56%
Tasks/AndroidSigningV30% | 0% | 0% | 45% | 54%
Tasks/AzureVmssDeploymentV00% | 0% | 0% | 6% | 93%
Tasks/AzureNLBManagementV10% | 0% | 0% | 0% | 100%
Tasks/DownloadPackageV00% | 0% | 0% | 0% | 100%
Tasks/AzureFunctionOnKubernetesV00% | 0% | 0% | 0% | 100%
common-npm-packages/az-blobstorage-provider-v20% | 0% | 0% | 0% | 100%
Tasks/FuncToolsInstallerV00% | 0% | 0% | 0% | 100%
Tasks/AzureFunctionAppContainerV10% | 0% | 0% | 0% | 100%
Tasks/OpenPolicyAgentInstallerV00% | 0% | 0% | 0% | 100%
Tasks/GoToolV00% | 0% | 0% | 0% | 100%
Tasks/PublishTestResultsV10% | 0% | 0% | 0% | 100%
Tasks/DuffleInstallerV00% | 0% | 0% | 0% | 100%
common-npm-packages/securefiles-common0% | 0% | 0% | 0% | 100%
Tasks/PublishCodeCoverageResultsV20% | 0% | 0% | 0% | 100%
Tasks/AzureFileCopyV20% | 0% | 0% | 0% | 100%
Tasks/AzureFileCopyV30% | 0% | 0% | 0% | 100%
Tasks/NuGetToolInstallerV10% | 0% | 0% | 0% | 100%
Tasks/UseRubyVersionV00% | 0% | 0% | 0% | 100%
ci/courtesy-push0% | 0% | 0% | 0% | 100%
Tasks/HelmInstallerV10% | 0% | 0% | 0% | 100%
Tasks/KubectlInstallerV00% | 0% | 0% | 0% | 100%
Tasks/CocoaPodsV00% | 0% | 0% | 0% | 100%
Tasks/DecryptFileV10% | 0% | 0% | 0% | 100%
Tasks/DeleteFilesV10% | 0% | 0% | 0% | 100%
Tasks/FileTransformV10% | 0% | 0% | 0% | 100%
Tasks/ShellScriptV20% | 0% | 0% | 0% | 100%
Tasks/CMakeV10% | 0% | 0% | 0% | 100%
Tasks/GoV00% | 0% | 0% | 0% | 100%
Tasks/NuGetAuthenticateV00% | 0% | 0% | 0% | 100%
Tasks/MSBuildV10% | 0% | 0% | 0% | 100%
Tasks/ReviewAppV00% | 0% | 0% | 0% | 100%
Tasks/PyPIPublisherV00% | 0% | 0% | 0% | 100%
ci/verifyMinAgentDemands0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
async function run()
in Tasks/XcodeV5/xcode.ts
365 89 0
async function main()
in Tasks/DownloadBuildArtifactsV0/main.ts
243 52 0
async function run()
in Tasks/AzureAppServiceManageV0/azureappservicemanage.ts
171 47 0
describe()
in Tests-Legacy/L0/VsTest/_suite.ts
1185 41 2
async function main()
in Tasks/CopyFilesV2/copyfiles.ts
155 35 0
export async function run()
in Tasks/NuGetCommandV2/nugetrestore.ts
164 33 1
export async function run()
in Tasks/NuGetCommandV2/nugetpublisher.ts
184 32 1
public async getResourceGroupDetails()
in Tasks/AzureResourceGroupDeploymentV2/operations/AzureUtil.ts
103 31 0
public static getParameters()
in Tasks/AzureRmWebAppDeploymentV4/operations/TaskParameters.ts
93 28 0
async function main()
in Tasks/NuGetRestoreV1/nugetinstaller.ts
165 28 0
public RegisterCustomerHandleBars()
in Tasks/JenkinsDownloadArtifactsV1/ArtifactDetails/JenkinsRestClient.ts
80 26 0
113 26 0
constructor()
in Tasks/Common/AzureRmDeploy-common/azure-arm-rest/azure-arm-common.ts
50 25 12
async function main()
in Tasks/NuGetInstallerV0/nugetinstaller.ts
135 25 0
constructor()
in common-npm-packages/AzureRmDeploy-common-v3/azure-arm-rest/azure-arm-common.ts
50 25 12
constructor()
in common-npm-packages/azure-arm-rest-v2/azure-arm-common.ts
51 25 13
constructor()
in common-npm-packages/azure-arm-rest/azure-arm-common.ts
50 25 12
public DetermineMainJob()
in Tasks/JenkinsQueueJobV2/jobsearch.ts
62 24 2
async function run()
in Tasks/AppCenterDistributeV3/appcenterdistribute.ts
99 23 0
async function run()
in Tasks/CUrlUploaderV2/curluploader.ts
102 23 0