facebookresearch / RealityMaterialExplorer
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 3,213 units with 43,440 lines of code in units (7.7% of code).
    • 3 very complex units (712 lines of code)
    • 19 complex units (2,438 lines of code)
    • 114 medium complex units (7,466 lines of code)
    • 231 simple units (7,377 lines of code)
    • 2,846 very simple units (25,447 lines of code)
1% | 5% | 17% | 16% | 58%
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
cs1% | 5% | 17% | 16% | 58%
java0% | 0% | 0% | 47% | 52%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
Assets/Oculus1% | 5% | 17% | 17% | 58%
Assets0% | 0% | 14% | 13% | 71%
Upload/unityLibrary0% | 0% | 0% | 47% | 52%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
internal static Message ParseMessageHandle()
in RealityMaterialExplorer/Assets/Oculus/Platform/Scripts/Message.cs
323 173 1
private void Update()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRManager.cs
262 70 0
internal static Message ParseMessageHandle()
in RealityMaterialExplorer/Assets/Oculus/Platform/Scripts/PlatformInternal.cs
127 68 2
public virtual void UpdateMovement()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs
131 50 0
static void CheckStaticCommonIssues()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRLint.cs
265 50 0
void OnGUI()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRSystemProfilerPanel.cs
183 37 0
private void InitOVRManager()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRManager.cs
132 35 0
void DrawCategories()
in RealityMaterialExplorer/Assets/Oculus/AudioManager/Scripts/Audio/Editor/AudioManagerInspector.cs
141 35 1
public RawButton ToRawMask()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRInput.cs
71 34 1
private static bool genUploadCommand()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRPlatformTool.cs
161 33 2
public override void OnInspectorGUI()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/Editor/OVROverlayEditor.cs
200 31 0
public void SetPreset()
in RealityMaterialExplorer/Assets/Oculus/Spatializer/scripts/ONSPPropagationMaterial.cs
40 31 1
static void CheckStaticAndroidIssues()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRLint.cs
152 30 0
public virtual void EnsureGameObjectIntegrity()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRCameraRig.cs
78 29 0
public override Controller Update()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRInput.cs
72 29 0
private bool PopulateLayer()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVROverlay.cs
98 28 5
public static bool EnqueueSubmitLayer()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/OVRPlugin.cs
76 28 13
void OnGUI()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRPlatformTool.cs
241 28 0
public static string BoneLabelFromBoneId()
in RealityMaterialExplorer/Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs
63 27 2
private static void ActivateOVRPluginOpenXR()
in RealityMaterialExplorer/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs
149 27 0