microsoft / appcenter-sdk-react-native
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 415 units with 3,796 lines of code in units (49.6% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 1 medium complex units (47 lines of code)
    • 14 simple units (359 lines of code)
    • 400 very simple units (3,390 lines of code)
0% | 0% | 1% | 9% | 89%
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
js0% | 0% | 1% | 7% | 90%
java0% | 0% | 0% | 16% | 83%
tsx0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 100%
m0% | 0% | 0% | 0% | 100%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
appcenter-crashes0% | 0% | 40% | 0% | 59%
appcenter-link-scripts/src0% | 0% | 0% | 20% | 79%
appcenter-crashes/android0% | 0% | 0% | 20% | 79%
appcenter-analytics/android0% | 0% | 0% | 27% | 72%
appcenter/android0% | 0% | 0% | 22% | 77%
DemoApp/app0% | 0% | 0% | 3% | 96%
TestApp/app0% | 0% | 0% | 3% | 96%
appcenter-analytics0% | 0% | 0% | 22% | 77%
TestAppTypescript/src0% | 0% | 0% | 0% | 100%
TestApp340% | 0% | 0% | 0% | 100%
DemoApp/android0% | 0% | 0% | 0% | 100%
TestApp/android0% | 0% | 0% | 0% | 100%
AppCenterReactNativeShared/android0% | 0% | 0% | 0% | 100%
DemoApp/jest0% | 0% | 0% | 0% | 100%
TestApp/jest0% | 0% | 0% | 0% | 100%
TestAppTypescript/android0% | 0% | 0% | 0% | 100%
appcenter0% | 0% | 0% | 0% | 100%
TestApp34/android0% | 0% | 0% | 0% | 100%
TestApp34/js0% | 0% | 0% | 0% | 100%
DemoApp0% | 0% | 0% | 0% | 100%
TestApp0% | 0% | 0% | 0% | 100%
TestAppTypescript0% | 0% | 0% | 0% | 100%
DemoApp/ios0% | 0% | 0% | 0% | 100%
TestApp/ios0% | 0% | 0% | 0% | 100%
TestApp34/ios0% | 0% | 0% | 0% | 100%
TestAppTypescript/ios0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
setListener()
in appcenter-crashes/Crashes.js
47 12 1
public static JSONArray convertReadableArrayToJsonArray()
in appcenter-analytics/android/src/main/java/com/microsoft/appcenter/reactnative/analytics/ReactNativeUtils.java
32 10 1
public static JSONObject convertReadableMapToJsonObject()
in appcenter-analytics/android/src/main/java/com/microsoft/appcenter/reactnative/analytics/ReactNativeUtils.java
34 9 1
public static WritableMap convertJsonObjectToWritableMap()
in appcenter-crashes/android/src/main/java/com/microsoft/appcenter/reactnative/crashes/RNUtils.java
26 9 1
private static WritableArray convertJsonArrayToWritableArray()
in appcenter-crashes/android/src/main/java/com/microsoft/appcenter/reactnative/crashes/RNUtils.java
24 9 1
removeAndroidDuplicateLinks()
in appcenter-link-scripts/src/android/index.js
54 9 0
static Exception toExceptionModel()
in appcenter-crashes/android/src/main/java/com/microsoft/appcenter/reactnative/crashes/AppCenterReactNativeCrashesUtils.java
26 8 1
AppDelegate.prototype.addInitCode = function()
in appcenter-link-scripts/src/ios/AppDelegate.js
22 8 2
private static Object toObject()
in appcenter/android/src/main/java/com/microsoft/appcenter/reactnative/appcenter/ReactNativeUtils.java
32 8 2
Podfile.prototype.nextKeyword = function()
in appcenter-link-scripts/src/ios/PodFile.js
21 7 3
async selectStartup()
in DemoApp/app/screens/AppCenterScreen.js
21 6 0
async selectStartup()
in TestApp/app/screens/AppCenterScreen.js
21 6 0
function sanitizeProperties()
in appcenter-analytics/Analytics.js
20 6 1
throw Error()
in appcenter-link-scripts/src/ios/AppDelegate.js
16 6 2
function findFileByAppName()
in appcenter-link-scripts/src/ios/index.js
10 6 2
static async getErrorAttachments()
in DemoApp/app/AttachmentsProvider.js
18 5 0
async setStandardProperty()
in DemoApp/app/screens/TransmissionScreen.js
25 5 2
static async getErrorAttachments()
in TestApp/app/AttachmentsProvider.js
18 5 0
async setStandardProperty()
in TestApp/app/screens/TransmissionScreen.js
25 5 2
notifyUserConfirmation()
in appcenter-crashes/Crashes.js
15 5 1