microsoft / appcenter-sdk-unity
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 1,110 units with 8,084 lines of code in units (9.1% of code).
    • 0 very long units (0 lines of code)
    • 6 long units (387 lines of code)
    • 50 medium size units (1,482 lines of code)
    • 134 small units (1,822 lines of code)
    • 920 very small units (4,393 lines of code)
0% | 4% | 18% | 22% | 54%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 3% | 19% | 22% | 55%
java0% | 64% | 0% | 0% | 35%
cake0% | 11% | 25% | 42% | 20%
mm0% | 0% | 0% | 4% | 95%
cpp0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
AppCenterLoaderApp/appcenter-loader/src0% | 64% | 0% | 0% | 35%
Assets/AppCenter0% | 37% | 0% | 23% | 38%
ROOT0% | 11% | 25% | 42% | 20%
Assets/AppCenter/Editor0% | 5% | 37% | 22% | 34%
AppCenterDemoApp/Assets/Puppet0% | 4% | 24% | 29% | 41%
Assets/Puppet0% | 4% | 26% | 26% | 42%
Assets/AppCenter/Plugins0% | 0% | 8% | 16% | 74%
Assets/Puppet/Editor0% | 0% | 25% | 14% | 60%
Assets/Puppet/Utility0% | 0% | 0% | 100% | 0%
Assets/AppCenter/Properties0% | 0% | 0% | 0% | 100%
BreakpadSupport/breakpad-support/src0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public boolean onCreate()
in AppCenterLoaderApp/appcenter-loader/src/main/java/com/microsoft/appcenter/loader/AppCenterLoader.java
88 25 0
private void StartAppCenter()
in Assets/AppCenter/AppCenterBehavior.cs
70 16 0
64 11 2
private void AddStartupCode()
in Assets/AppCenter/Editor/AppCenterPreBuild.cs
57 16 1
private IEnumerator LastCrashReportCoroutine()
in AppCenterDemoApp/Assets/Puppet/PuppetCrashes.cs
54 4 0
private IEnumerator LastCrashReportCoroutine()
in Assets/Puppet/PuppetCrashes.cs
54 4 0
public void OnPreprocessBuild()
in Assets/AppCenter/Editor/AppCenterPreBuild.cs
44 9 2
public void TrackEventStringPropertiesChildTransmission()
in AppCenterDemoApp/Assets/Puppet/PuppetTransmission.cs
42 6 0
public void TrackEventTypedPropertiesChildTransmission()
in AppCenterDemoApp/Assets/Puppet/PuppetTransmission.cs
42 6 0
public void TrackEventStringPropertiesChildTransmission()
in Assets/Puppet/PuppetTransmission.cs
42 6 0
public void TrackEventTypedPropertiesChildTransmission()
in Assets/Puppet/PuppetTransmission.cs
42 6 0
private IEnumerator OnEnableCoroutine()
in AppCenterDemoApp/Assets/Puppet/PuppetAppCenter.cs
41 7 0
private static void AddInternetClientCapability()
in Assets/AppCenter/Editor/AppCenterPostBuild.cs
41 8 1
private IEnumerator OnEnableCoroutine()
in Assets/Puppet/PuppetAppCenter.cs
41 7 0
public static string ParseAndSaveSecretForPlatform()
in Assets/AppCenter/Plugins/AppCenterSDK/Core/Shared/AppCenter.cs
38 8 1
public static void ZipFile()
in Assets/AppCenter/Editor/AndroidLibraryHelper.cs
37 4 2
public static void UnzipFile()
in Assets/AppCenter/Editor/AndroidLibraryHelper.cs
36 4 2
public override void OnInspectorGUI()
in Assets/AppCenter/Editor/AppCenterSettingsEditor.cs
36 4 0
public void TrackEventParentStringPropertiesTransmission()
in AppCenterDemoApp/Assets/Puppet/PuppetTransmission.cs
35 5 0
public void TrackEventParentTypedPropertiesTransmission()
in AppCenterDemoApp/Assets/Puppet/PuppetTransmission.cs
35 5 0