android / input-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 647 units with 6,198 lines of code in units (65.6% of code).
    • 2 very long units (206 lines of code)
    • 5 long units (281 lines of code)
    • 73 medium size units (2,183 lines of code)
    • 97 small units (1,413 lines of code)
    • 470 very small units (2,115 lines of code)
3% | 4% | 35% | 22% | 34%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java3% | 5% | 34% | 22% | 34%
kt0% | 0% | 43% | 22% | 33%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
AutofillFramework/afservice/src/main/java/com/example/android/autofill3% | 4% | 32% | 25% | 33%
AutofillFramework/Application/src/main/java/com/example/android/autofill5% | 5% | 32% | 22% | 33%
BasicMultitouch/Application/src/main/java/com/example/android/basicmultitouch0% | 28% | 0% | 28% | 43%
AutofillFrameworkKotlin/Application/src/main/java/com/example/android/autofillframework0% | 0% | 43% | 22% | 33%
CommitContentSampleIME/app/src/main/java/com/example/android/commitcontent0% | 0% | 78% | 11% | 9%
CommitContentSampleApp/app/src/main/java/com/example/android/commitcontent0% | 0% | 83% | 8% | 7%
BasicGestureDetect/Application/src/main/java/com/example/android/common0% | 0% | 31% | 12% | 56%
BasicMultitouch/Application/src/main/java/com/example/android/common0% | 0% | 32% | 13% | 53%
BasicGestureDetect/Application/src/main/java/com/example/android/basicgesturedetect0% | 0% | 35% | 19% | 45%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void onCreate()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/settings/SettingsActivity.java
104 14 1
public List initList()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/commoncases/RecyclerViewActivity.java
102 1 0
public void checkValid()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/data/source/local/DigitalAssetLinksRepository.java
66 8 3
public void onFillRequest()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/simple/MultiStepsService.java
57 16 3
public void autofill()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/view/autofillable/CustomVirtualView.java
55 14 1
protected void onCreate()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/edgecases/MultiplePartitionsActivity.java
52 3 1
public boolean onTouchEvent()
in BasicMultitouch/Application/src/main/java/com/example/android/basicmultitouch/TouchDisplayView.java
51 7 1
void bindValueToNode()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/data/adapter/DatasetAdapter.java
48 12 4
public void println()
in BasicMultitouch/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
public void println()
in BasicGestureDetect/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
protected void onCreate()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/commoncases/CreditCardSpinnersActivity.java
44 3 1
fun applyToFields()
in AutofillFrameworkKotlin/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.kt
43 4 2
private void appendViewMetadata()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/data/ClientAutofillDataBuilder.java
42 14 8
private static void dumpNode()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/util/Util.java
42 5 4
private static void dumpNode()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/Util.java
42 5 2
public void onFillRequest()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java
41 3 3
private void fetchDataAndGenerateResponse()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java
41 7 5
public NavigationItem()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/view/widget/NavigationItem.java
41 5 4
public CustomVirtualViewCompatMode()
in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/view/autofillable/CustomVirtualViewCompatMode.java
40 4 4
public FillResponse buildResponse()
in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/data/adapter/ResponseAdapter.java
38 8 3