android / enterprise-samples
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 257 units with 2,264 lines of code in units (73.9% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (62 lines of code)
    • 22 medium size units (700 lines of code)
    • 44 small units (620 lines of code)
    • 190 very small units (882 lines of code)
0% | 2% | 30% | 27% | 38%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 2% | 30% | 27% | 38%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
AppRestrictions/Application/src/main/java/com/example/android/apprestrictions0% | 26% | 28% | 32% | 13%
BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile0% | 0% | 44% | 34% | 20%
AppRestrictionEnforcer/Application/src/main/java/com/example/android/apprestrictionenforcer0% | 0% | 23% | 30% | 45%
NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning0% | 0% | 38% | 26% | 34%
NfcProvisioning/Application/src/main/java/com/example/android/common/logger0% | 0% | 32% | 13% | 53%
AppRestrictionSchema/Application/src/main/java/com/example/android/common/logger0% | 0% | 32% | 13% | 53%
AppRestrictionSchema/Application/src/main/java/com/example/android/apprestrictionschema0% | 0% | 28% | 32% | 38%
DeviceOwner/Application/src/main/java/com/example/android/deviceowner0% | 0% | 16% | 28% | 55%
NfcProvisioning/Application/src/main/java/com/example/android/common/activities0% | 0% | 0% | 0% | 100%
AppRestrictionSchema/Application/src/main/java/com/example/android/common/activities0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void onActivityCreated()
in AppRestrictions/Application/src/main/java/com/example/android/apprestrictions/CustomRestrictionsFragment.java
62 10 1
private void setChromeRestrictions()
in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/BasicManagedProfileFragment.java
46 3 0
public void println()
in NfcProvisioning/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
public void println()
in AppRestrictionSchema/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
public void onTextChanged()
in NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/NfcProvisioningFragment.java
41 11 2
public NdefMessage createNdefMessage()
in NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/NfcProvisioningFragment.java
39 11 1
private void loadRestrictions()
in AppRestrictionEnforcer/Application/src/main/java/com/example/android/apprestrictionenforcer/AppRestrictionEnforcerFragment.java
37 10 1
private void createRestrictions()
in AppRestrictions/Application/src/main/java/com/example/android/apprestrictions/GetRestrictionsReceiver.java
35 9 3
private void setAppEnabled()
in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/BasicManagedProfileFragment.java
35 7 2
protected void onCreate()
in AppRestrictionEnforcer/Application/src/main/java/com/example/android/apprestrictionenforcer/MainActivity.java
35 7 1
private void updateItems()
in AppRestrictionSchema/Application/src/main/java/com/example/android/apprestrictionschema/AppRestrictionSchemaFragment.java
34 10 1
protected void onResume()
in AppRestrictions/Application/src/main/java/com/example/android/apprestrictions/MainActivity.java
33 8 0
private void updateUi()
in AppRestrictionEnforcer/Application/src/main/java/com/example/android/apprestrictionenforcer/StatusFragment.java
32 5 1
private void retrieveCurrentSettings()
in DeviceOwner/Application/src/main/java/com/example/android/deviceowner/DeviceOwnerFragment.java
31 5 1
public void onClick()
in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/BasicManagedProfileFragment.java
29 7 1
private void provisionManagedProfile()
in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/SetupProfileFragment.java
27 4 0
private void resolveRestrictions()
in AppRestrictionSchema/Application/src/main/java/com/example/android/apprestrictionschema/AppRestrictionSchemaFragment.java
24 8 0
public View inflateViews()
in NfcProvisioning/Application/src/main/java/com/example/android/common/logger/LogFragment.java
23 1 0
private boolean isApplicationEnabled()
in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/BasicManagedProfileFragment.java
23 4 1
public View inflateViews()
in AppRestrictionSchema/Application/src/main/java/com/example/android/common/logger/LogFragment.java
23 1 0