microsoft / AzureDevOpsDemoGenerator
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 385 units with 9,494 lines of code in units (13.6% of code).
    • 1 very complex units (301 lines of code)
    • 6 complex units (979 lines of code)
    • 32 medium complex units (2,463 lines of code)
    • 44 simple units (1,883 lines of code)
    • 302 very simple units (3,868 lines of code)
3% | 10% | 25% | 19% | 40%
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
cs4% | 14% | 23% | 20% | 38%
js0% | 0% | 33% | 18% | 47%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
src/VstsDemoBuilder/Services9% | 20% | 28% | 19% | 22%
src/VstsDemoBuilder/Controllers0% | 26% | 11% | 27% | 34%
src/VstsDemoBuilder/Scripts0% | 0% | 37% | 19% | 43%
src/VstsRestAPI/WorkItemAndTracking0% | 0% | 57% | 20% | 22%
Report/html/search0% | 0% | 29% | 20% | 49%
src/VstsRestAPI/Extractor0% | 0% | 0% | 80% | 19%
src/VstsRestAPI/QueriesAndWidgets0% | 0% | 0% | 23% | 76%
src/VstsRestAPI/Queues0% | 0% | 0% | 51% | 48%
src/VstsRestAPI/ProjectsAndTeams0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Git0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Wiki0% | 0% | 0% | 0% | 100%
Report/html0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder/App_Start0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Services0% | 0% | 0% | 0% | 100%
src/VstsRestAPI0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Build0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Service0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/TestManagement0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/Release0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder/Models0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/DeliveryPlans0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder/Content0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/DeploymentGRoup0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder/Extensions0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder/ErrorHandler0% | 0% | 0% | 0% | 100%
src/VstsDemoBuilder0% | 0% | 0% | 0% | 100%
src/VstsRestAPI/ExtensionManagement0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
public void CreateQueryAndWidgets()
in src/VstsDemoBuilder/Services/ProjectService.cs
301 124 7
public bool ExportTeams()
in src/VstsDemoBuilder/Services/ExtractorService.cs
222 41 3
public JsonResult CheckForInstalledExtensions()
in src/VstsDemoBuilder/Controllers/EnvironmentController.cs
157 34 4
public void GetServiceEndpoints()
in src/VstsDemoBuilder/Services/ExtractorService.cs
171 30 1
private void CreateTeams()
in src/VstsDemoBuilder/Services/ProjectService.cs
132 29 5
public int GeneralizingGetReleaseDefinitions()
in src/VstsDemoBuilder/Services/ExtractorService.cs
166 28 1
public ActionResult CreateProject()
in src/VstsDemoBuilder/Controllers/EnvironmentController.cs
131 27 0
private static int NormalPipeline()
in src/VstsDemoBuilder/Services/ExtractorService.cs
136 25 7
public bool PrepareAndUpdateTarget()
in src/VstsRestAPI/WorkItemAndTracking/ImportWorkItems.cs
128 24 5
private void CreateServiceEndPoint()
in src/VstsDemoBuilder/Services/ProjectService.cs
108 23 3
this.Nav = function()
in Report/html/search/search.js
76 22 2
$()
in src/VstsDemoBuilder/Scripts/AppScripts/create.js
140 21 1
public ActionResult Verify()
in src/VstsDemoBuilder/Controllers/AccountController.cs
88 20 2
public bool UpdateIterationDates()
in src/VstsRestAPI/WorkItemAndTracking/ClassificationNodes.cs
94 19 4
success: function()
in src/VstsDemoBuilder/Scripts/AppScripts/create.js
79 18 1
$()
in src/VstsDemoBuilder/Scripts/AppScripts/FileUpload.js
55 17 1
success: function()
in src/VstsDemoBuilder/Scripts/AppScripts/create.js
119 16 1
public int GetBuildDefinitions()
in src/VstsDemoBuilder/Services/ExtractorService.cs
79 16 1
private void CreatePullRequest()
in src/VstsDemoBuilder/Services/ProjectService.cs
55 16 3
public bool UpdateWorkItemLinks()
in src/VstsRestAPI/WorkItemAndTracking/ImportWorkItems.cs
125 16 1