microsoft / GazeInteractionApps
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 463 units with 5,511 lines of code in units (44.8% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 5 medium complex units (214 lines of code)
    • 32 simple units (1,181 lines of code)
    • 426 very simple units (4,116 lines of code)
0% | 0% | 3% | 21% | 74%
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% | 0% | 3% | 21% | 74%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
Games/TwoZeroFourEight0% | 0% | 8% | 32% | 59%
Games/Fifteen0% | 0% | 11% | 29% | 59%
Games/Maze0% | 0% | 6% | 32% | 61%
Tools/EyeControlToolkitSettings0% | 0% | 15% | 0% | 84%
Games/Memory0% | 0% | 0% | 21% | 78%
Apps/Phrasor0% | 0% | 0% | 19% | 80%
Tools/Positioning0% | 0% | 0% | 53% | 46%
EyeGazeUserControls0% | 0% | 0% | 14% | 85%
Apps/SeeSaw0% | 0% | 0% | 9% | 90%
Apps/SoundMachineJr0% | 0% | 0% | 0% | 100%
Apps/EyeVolume0% | 0% | 0% | 0% | 100%
Tools/ControlTest0% | 0% | 0% | 0% | 100%
Apps/DrawnOut0% | 0% | 0% | 0% | 100%
Apps/MinAAC0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private bool IsBoardFull()
in Games/TwoZeroFourEight/MainPage.xaml.cs
35 16 0
private int TryMoveRunner()
in Games/Maze/GamePage.xaml.cs
55 15 2
public static void ValueSetFromLocalSettings()
in Tools/EyeControlToolkitSettings/GazeSettings.cs
30 14 1
bool SwapBlank()
in Games/Fifteen/GamePage.xaml.cs
59 11 2
private void OnPageKeyUp()
in Games/TwoZeroFourEight/MainPage.xaml.cs
35 11 2
void ResetBoard()
in Games/Fifteen/GamePage.xaml.cs
43 10 0
private void OnMazeCellClick()
in Games/Maze/GamePage.xaml.cs
20 10 2
private void UpdateEyeData()
in Tools/Positioning/MainPage.xaml.cs
55 10 4
private async void OnGridButtonClick()
in Apps/Phrasor/MainPage.xaml.cs
57 9 2
private void OnSolutionTimerTick()
in Games/Maze/GamePage.xaml.cs
47 9 2
private int AddAdjacent()
in Games/TwoZeroFourEight/MainPage.xaml.cs
84 9 3
private void GazeInputSourcePreview_GazeMoved()
in Tools/Positioning/MainPage.xaml.cs
50 9 2
public void Load()
in Apps/Phrasor/DataModel/AppSettings.cs
28 8 0
private void OnButtonClick()
in Games/Memory/GamePage.xaml.cs
29 8 2
private async void OnKeyboardButtonClick()
in EyeGazeUserControls/GazeKeyboard.xaml.cs
40 7 2
private void ClearSolution()
in Games/Maze/GamePage.xaml.cs
27 7 0
private void OnSolveMaze()
in Games/Maze/GamePage.xaml.cs
27 7 2
private void BuildMaze()
in Games/Maze/GamePage.xaml.cs
54 7 0
private void OnHelpNavRight()
in Games/TwoZeroFourEight/MainPage.xaml.cs
44 7 2
private void OnHelpNavLeft()
in Games/TwoZeroFourEight/MainPage.xaml.cs
44 7 2