microsoft / Bing-Maps-Fleet-Tracker
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 807 units with 9,086 lines of code in units (46.3% of code).
    • 0 very complex units (0 lines of code)
    • 2 complex units (262 lines of code)
    • 14 medium complex units (735 lines of code)
    • 28 simple units (940 lines of code)
    • 763 very simple units (7,149 lines of code)
0% | 2% | 8% | 10% | 78%
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
cs0% | 3% | 10% | 9% | 76%
ts0% | 0% | 1% | 12% | 85%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
Backend/src/Trackable.Web0% | 16% | 0% | 3% | 80%
Backend/src/Trackable.Services0% | 12% | 7% | 3% | 76%
Backend/src/System.Device0% | 0% | 23% | 19% | 57%
Backend/src/Trackable.Repositories0% | 0% | 16% | 1% | 82%
Backend/src/Trackable.TripDetection0% | 0% | 11% | 16% | 72%
Backend/src/Trackable.Func0% | 0% | 13% | 19% | 67%
Frontend/src/app0% | 0% | 2% | 14% | 83%
Backend/src/Trackable.EntityFramework0% | 0% | 0% | 5% | 94%
MobileClient/src/pages0% | 0% | 0% | 6% | 93%
MobileClient/src/providers0% | 0% | 0% | 0% | 100%
Backend/src/Trackable.Common0% | 0% | 0% | 0% | 100%
Backend/src/Trackable.Configurations0% | 0% | 0% | 0% | 100%
Backend/src/Trackable.Models0% | 0% | 0% | 0% | 100%
MobileClient/src/app0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
protected async override Task HandleRequirementAsync()
in Backend/src/Trackable.Web/Auth/RoleRequirementHandler.cs
157 45 2
public string GenerateURL()
in Backend/src/Trackable.Services/Services/DispatchingService.cs
105 27 3
private void HandleLocationChangedEvent()
in Backend/src/System.Device/Location/GeoCoordinateWatcherInternal.cs
76 20 1
public ModelMappingProfile()
in Backend/src/Trackable.Repositories/AutoMapper/ModelMappingProfile.cs
129 19 0
public CivicAddress()
in Backend/src/System.Device/Location/CivicAddress.cs
49 18 8
public CivicAddress()
in Backend/src/System.Device/Location/CivicAddressResolver.cs
49 18 8
private void HandleLocationChangedEvent()
in Backend/src/System.Device/Location/LocationProviderInternal.cs
72 18 1
private string GenerateHazardousMaterialsUri()
in Backend/src/Trackable.Services/Services/DispatchingService.cs
32 15 1
protected override Task ProcessInternal()
in Backend/src/Trackable.TripDetection/Modules/ClusteredStopDetectorModule.cs
80 15 1
private string GenerateHazardousPermitsUri()
in Backend/src/Trackable.Services/Services/DispatchingService.cs
31 14 1
drawCircularGeofence()
in Frontend/src/app/maps/bing-maps.service.ts
38 13 4
public override Task Process()
in Backend/src/Trackable.TripDetection/Modules/NoiseRemovalModule.cs
46 12 2
private void HandleLocationStatusChangedEvent()
in Backend/src/System.Device/Location/GeoCoordinateWatcherInternal.cs
37 11 1
public GeoCoordinate()
in Backend/src/System.Device/Location/LocationCoordinate.cs
26 11 5
private void HandleLocationStatusChangedEvent()
in Backend/src/System.Device/Location/LocationProviderInternal.cs
30 11 1
public void Log()
in Backend/src/Trackable.Func/Shared/TraceWriterLogger.cs
40 11 5
private static async Task UpdateAsync()
in Backend/src/Trackable.EntityFramework/DbContextBulkOperations.cs
67 10 5
submit()
in Frontend/src/app/geofences/geofence-editor/geofence-editor.component.ts
40 10 0
private void CreateHandler()
in Backend/src/System.Device/Location/LocationProviderInternal.cs
45 9 1
public Task CheckValidity()
in Backend/src/Trackable.Repositories/Repositories/AssetPropertiesRepository.cs
15 9 1