android / wear-os-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 259 units with 4,131 lines of code in units (43.7% of code).
    • 1 very long units (113 lines of code)
    • 15 long units (1,044 lines of code)
    • 46 medium size units (1,417 lines of code)
    • 51 small units (779 lines of code)
    • 146 very small units (778 lines of code)
2% | 25% | 34% | 18% | 18%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java9% | 18% | 26% | 16% | 29%
kt0% | 28% | 37% | 19% | 14%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
WearAccessibilityApp9% | 18% | 26% | 16% | 29%
ComposeAdvanced0% | 63% | 16% | 2% | 17%
WearSpeakerSample0% | 47% | 32% | 16% | 3%
DataLayer0% | 35% | 39% | 11% | 13%
AlwaysOnKotlin0% | 46% | 0% | 38% | 15%
WatchFaceAlphaKotlin0% | 16% | 40% | 26% | 17%
RuntimePermissionsWear0% | 0% | 62% | 15% | 22%
WearComplicationDataSourcesTestSuite0% | 0% | 77% | 19% | 3%
WearTilesKotlin0% | 0% | 71% | 18% | 10%
WearStandaloneGoogleSignIn0% | 0% | 78% | 21% | 0%
WearOAuth0% | 0% | 41% | 56% | 2%
WearVerifyRemoteApp0% | 0% | 31% | 23% | 45%
TimeText0% | 0% | 31% | 18% | 50%
ComposeStarter0% | 0% | 0% | 31% | 68%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
protected void onCreate()
in WearAccessibilityApp/Wearable/src/main/java/com/example/android/wearable/wear/wearaccessibilityapp/DialogsActivity.java
113 1 1
fun MainApp()
in DataLayer/Wearable/src/main/java/com/example/android/wearable/datalayer/MainApp.kt
91 3 3
fun SpeakerApp()
in WearSpeakerSample/wear/src/main/java/com/example/android/wearable/speaker/SpeakerApp.kt
83 3 0
fun AlwaysOnApp()
in AlwaysOnKotlin/compose/src/main/java/com/example/android/wearable/wear/alwayson/AlwaysOnApp.kt
82 2 4
private void generateMessagingStyleNotification()
in WearAccessibilityApp/Wearable/src/main/java/com/example/android/wearable/wear/wearaccessibilityapp/NotificationsActivity.java
79 5 1
fun WearApp()
in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/MainActivity.kt
77 1 1
protected void onCreate()
in WearAccessibilityApp/Wearable/src/main/java/com/example/android/wearable/wear/wearaccessibilityapp/LongListActivity.java
76 10 1
fun MainApp()
in DataLayer/Application/src/main/java/com/example/android/wearable/datalayer/MainApp.kt
70 2 4
fun LandingScreen()
in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/ui/landing/LandingScreen.kt
69 2 1
fun AlwaysOnScreen()
in AlwaysOnKotlin/compose/src/main/java/com/example/android/wearable/wear/alwayson/AlwaysOnScreen.kt
67 1 5
fun WatchListScreen()
in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/ui/watchlist/WatchListScreen.kt
65 3 3
fun WatchDetailScreen()
in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/ui/watch/WatchDetailScreen.kt
64 2 4
fun ControlDashboard()
in WearSpeakerSample/wear/src/main/java/com/example/android/wearable/speaker/ControlDashboard.kt
60 4 2
fun SpeakerScreen()
in WearSpeakerSample/wear/src/main/java/com/example/android/wearable/speaker/SpeakerScreen.kt
55 1 4
private MessagingStyleCommsAppData()
in WearAccessibilityApp/Wearable/src/main/java/com/example/android/wearable/wear/wearaccessibilityapp/MockDatabase.java
54 1 1
fun createComplicationSlotManager()
in WatchFaceAlphaKotlin/app/src/main/java/com/example/android/wearable/alpha/utils/ComplicationUtils.kt
52 1 3
public Holder onCreateViewHolder()
in WearAccessibilityApp/Wearable/src/main/java/com/example/android/wearable/wear/wearaccessibilityapp/LongListRecyclerViewAdapter.java
50 7 2
override fun onResourcesRequest()
in WearTilesKotlin/app/src/main/java/com/example/wear/tiles/messaging/MessagingTileService.kt
49 1 1
override fun onMessageReceived()
in RuntimePermissionsWear/Application/src/main/java/com/example/android/wearable/runtimepermissions/MainPhoneActivity.kt
44 1 1
fun createUserStyleSchema()
in WatchFaceAlphaKotlin/app/src/main/java/com/example/android/wearable/alpha/utils/UserStyleSchemaUtils.kt
43 1 1