microsoft / azure-devops-python-api
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 5,422 units with 56,620 lines of code in units (64.8% of code).
    • 0 very complex units (0 lines of code)
    • 3 complex units (194 lines of code)
    • 93 medium complex units (3,384 lines of code)
    • 551 simple units (12,517 lines of code)
    • 4,775 very simple units (40,525 lines of code)
0% | <1% | 5% | 22% | 71%
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
py0% | <1% | 5% | 22% | 71%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
azure-devops/azure/devops/v6_0/git0% | 2% | 12% | 22% | 62%
azure-devops/azure/devops/v5_1/git0% | 2% | 12% | 23% | 62%
azure-devops/azure/devops/released/git0% | 4% | 26% | 33% | 34%
azure-devops/azure/devops/v5_1/tfvc0% | 0% | 34% | 11% | 53%
azure-devops/azure/devops/v6_0/tfvc0% | 0% | 34% | 11% | 53%
azure-devops/azure/devops/released/tfvc0% | 0% | 52% | 17% | 29%
azure-devops/azure/devops/v5_1/release0% | 0% | 12% | 7% | 80%
azure-devops/azure/devops/v6_0/release0% | 0% | 12% | 6% | 80%
azure-devops/azure/devops/released/release0% | 0% | 38% | 13% | 47%
azure-devops/azure/devops/v5_1/build0% | 0% | 5% | 16% | 78%
azure-devops/azure/devops/released/build0% | 0% | 15% | 22% | 62%
azure-devops/azure/devops/v6_0/build0% | 0% | 4% | 15% | 79%
azure-devops/azure/devops0% | 0% | 15% | 25% | 59%
azure-devops/azure/devops/v6_0/wiki0% | 0% | 9% | 42% | 47%
azure-devops/azure/devops/v5_1/wiki0% | 0% | 12% | 48% | 38%
azure-devops/azure/devops/released/wiki0% | 0% | 22% | 54% | 22%
azure-devops/azure/devops/v6_0/feed0% | 0% | 5% | 17% | 76%
azure-devops/azure/devops/v5_1/feed0% | 0% | 5% | 18% | 75%
azure-devops/azure/devops/v5_1/task_agent0% | 0% | 6% | 19% | 74%
azure-devops/azure/devops/v6_0/work_item_tracking0% | 0% | 1% | 30% | 68%
azure-devops/azure/devops/v5_1/work_item_tracking0% | 0% | 2% | 31% | 66%
azure-devops/azure/devops/released/work_item_tracking0% | 0% | 3% | 38% | 57%
azure-devops/azure/devops/v6_0/task_agent0% | 0% | 4% | 18% | 77%
azure-devops/azure/devops/v5_1/cloud_load_test0% | 0% | 4% | 2% | 92%
azure-devops/azure/devops/v6_0/cloud_load_test0% | 0% | 4% | 2% | 92%
azure-devops/azure/devops/released/cloud_load_test0% | 0% | 10% | 7% | 82%
azure-devops/azure/devops/v6_0/identity0% | 0% | 5% | 3% | 90%
azure-devops/azure/devops/v5_1/identity0% | 0% | 5% | 3% | 90%
azure-devops/azure/devops/released/identity0% | 0% | 18% | 11% | 70%
azure-devops/azure/devops/v6_0/work0% | 0% | 0% | 68% | 31%
azure-devops/azure/devops/v5_1/work0% | 0% | 0% | 67% | 32%
azure-devops/azure/devops/released/work0% | 0% | 0% | 90% | 9%
azure-devops/azure/devops/v5_1/gallery0% | 0% | 0% | 23% | 76%
azure-devops/azure/devops/v6_0/gallery0% | 0% | 0% | 23% | 76%
azure-devops/azure/devops/v6_0/dashboard0% | 0% | 0% | 71% | 28%
azure-devops/azure/devops/v5_1/dashboard0% | 0% | 0% | 72% | 27%
azure-devops/azure/devops/v6_0/npm0% | 0% | 0% | 53% | 46%
azure-devops/azure/devops/v6_0/task0% | 0% | 0% | 36% | 63%
azure-devops/azure/devops/v5_1/task0% | 0% | 0% | 36% | 63%
azure-devops/azure/devops/v6_0/maven0% | 0% | 0% | 40% | 60%
azure-devops/azure/devops/v5_1/maven0% | 0% | 0% | 38% | 61%
azure-devops/azure/devops/v6_0/work_item_tracking_process0% | 0% | 0% | 9% | 90%
azure-devops/azure/devops/v5_1/work_item_tracking_process0% | 0% | 0% | 10% | 89%
azure-devops/azure/devops/released/task0% | 0% | 0% | 47% | 52%
azure-devops/azure/devops/v6_0/cix0% | 0% | 0% | 27% | 72%
azure-devops/azure/devops/v5_1/cix0% | 0% | 0% | 28% | 71%
azure-devops/azure/devops/v6_0/service_endpoint0% | 0% | 0% | 10% | 89%
azure-devops/azure/devops/v5_1/service_endpoint0% | 0% | 0% | 11% | 88%
azure-devops/azure/devops/released/task_agent0% | 0% | 0% | 27% | 72%
azure-devops/azure/devops/v5_1/nuget0% | 0% | 0% | 22% | 77%
azure-devops/azure/devops/v6_0/nuget0% | 0% | 0% | 22% | 77%
azure-devops/azure/devops/v6_0/py_pi_api0% | 0% | 0% | 24% | 75%
azure-devops/azure/devops/v5_1/npm0% | 0% | 0% | 12% | 87%
azure-devops/azure/devops/v5_1/policy0% | 0% | 0% | 17% | 82%
azure-devops/azure/devops/v5_1/core0% | 0% | 0% | 7% | 92%
azure-devops/azure/devops/v6_0/pipelines0% | 0% | 0% | 14% | 85%
azure-devops/azure/devops/v6_0/policy0% | 0% | 0% | 17% | 82%
azure-devops/azure/devops/released/core0% | 0% | 0% | 20% | 79%
azure-devops/azure/devops/v5_1/security0% | 0% | 0% | 20% | 79%
azure-devops/azure/devops/v6_0/security0% | 0% | 0% | 20% | 79%
azure-devops/azure/devops/released/security0% | 0% | 0% | 29% | 70%
azure-devops/azure/devops/v6_0/core0% | 0% | 0% | 7% | 92%
azure-devops/azure/devops/v5_1/py_pi_api0% | 0% | 0% | 21% | 78%
azure-devops/azure/devops/v5_1/file_container0% | 0% | 0% | 23% | 76%
azure-devops/azure/devops/v6_0/file_container0% | 0% | 0% | 23% | 76%
azure-devops/azure/devops/v5_1/licensing0% | 0% | 0% | 6% | 93%
azure-devops/azure/devops/v5_1/feature_management0% | 0% | 0% | 13% | 86%
azure-devops/azure/devops/v6_0/feature_management0% | 0% | 0% | 13% | 86%
azure-devops/azure/devops/released/policy0% | 0% | 0% | 16% | 83%
azure-devops/azure/devops/v5_1/profile0% | 0% | 0% | 25% | 74%
azure-devops/azure/devops/v6_0/profile0% | 0% | 0% | 25% | 74%
azure-devops/azure/devops/released/profile0% | 0% | 0% | 80% | 19%
azure-devops/azure/devops/v5_1/pipelines0% | 0% | 0% | 8% | 91%
azure-devops/azure/devops/v6_0/upack_api0% | 0% | 0% | 13% | 86%
azure-devops/azure/devops/v5_1/project_analysis0% | 0% | 0% | 17% | 82%
azure-devops/azure/devops/v6_0/project_analysis0% | 0% | 0% | 17% | 82%
azure-devops/azure/devops/v6_0/upack_packaging0% | 0% | 0% | 25% | 74%
azure-devops/azure/devops/v6_0/audit0% | 0% | 0% | 10% | 89%
azure-devops/azure/devops/v5_1/audit0% | 0% | 0% | 20% | 79%
azure-devops/azure/devops/v5_1/notification0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/notification0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/service_hooks0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/service_hooks0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/graph0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/graph0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/member_entitlement_management0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/member_entitlement_management0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/extension_management0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/extension_management0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/search0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/released/service_hooks0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/contributions0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/contributions0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/pipelines_checks0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/search0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/location0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/location0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/released/notification0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/symbol0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/symbol0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/upack_api0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/work_item_tracking_process_template0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/work_item_tracking_process_template0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_10% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_00% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/token_admin0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/feature_availability0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/feature_availability0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/pipeline_permissions0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/settings0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/token_administration0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/settings0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/token_administration0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/token_admin0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/upack_packaging0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/accounts0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/accounts0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/released0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/operations0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/operations0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/profile_regions0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/profile_regions0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/provenance0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/provenance0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/client_trace0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/client_trace0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/released/accounts0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/released/operations0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/feed_token0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/feed_token0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v5_1/customer_intelligence0% | 0% | 0% | 0% | 100%
azure-devops/azure/devops/v6_0/customer_intelligence0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
def get_commits()
in azure-devops/azure/devops/v6_0/git/git_client_base.py
66 31 6
def get_commits()
in azure-devops/azure/devops/released/git/git_client_base.py
64 30 6
def get_commits()
in azure-devops/azure/devops/v5_1/git/git_client_base.py
64 30 6
def get_releases()
in azure-devops/azure/devops/released/release/release_client.py
58 23 23
def get_releases()
in azure-devops/azure/devops/v5_1/release/release_client.py
58 23 23
def get_releases()
in azure-devops/azure/devops/v6_0/release/release_client.py
56 23 23
def get_builds()
in azure-devops/azure/devops/released/build/build_client.py
58 22 22
def get_builds()
in azure-devops/azure/devops/v5_1/build/build_client.py
58 22 22
def get_builds()
in azure-devops/azure/devops/v6_0/build/build_client.py
56 22 22
def get_changeset()
in azure-devops/azure/devops/released/tfvc/tfvc_client.py
48 21 12
def get_changeset()
in azure-devops/azure/devops/v5_1/tfvc/tfvc_client.py
48 21 12
def get_changeset()
in azure-devops/azure/devops/v6_0/tfvc/tfvc_client.py
48 21 12
def get_definitions()
in azure-devops/azure/devops/released/build/build_client.py
46 18 18
def get_definitions()
in azure-devops/azure/devops/v5_1/build/build_client.py
46 18 18
def get_definitions()
in azure-devops/azure/devops/v6_0/build/build_client.py
44 18 18
def get_deployments()
in azure-devops/azure/devops/released/release/release_client.py
43 17 17
def get_packages()
in azure-devops/azure/devops/v5_1/feed/feed_client.py
41 17 17
def get_deployments()
in azure-devops/azure/devops/v5_1/release/release_client.py
43 17 17
def get_packages()
in azure-devops/azure/devops/v6_0/feed/feed_client.py
41 17 17
def get_item_content()
in azure-devops/azure/devops/v6_0/git/git_client_base.py
43 17 14