aws-samples / amazon-ivs-optimizations-android-demo
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 44 units with 500 lines of code in units (42.1% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 10 medium size units (298 lines of code)
    • 3 small units (44 lines of code)
    • 31 very small units (158 lines of code)
0% | 0% | 59% | 8% | 31%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
kt0% | 0% | 59% | 8% | 31%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
optimizations/ui/rebuffertolive0% | 0% | 80% | 0% | 20%
optimizations/ui/catchuptolive0% | 0% | 79% | 0% | 20%
optimizations/ui/precaching0% | 0% | 65% | 17% | 17%
optimizations/ui/settings0% | 0% | 88% | 0% | 11%
optimizations/ui0% | 0% | 65% | 0% | 34%
optimizations/ui/home0% | 0% | 0% | 61% | 38%
optimizations/playerview0% | 0% | 0% | 18% | 81%
optimizations/common0% | 0% | 0% | 0% | 100%
optimizations0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
fun initPlayer()
in app/src/main/java/com/amazon/ivs/optimizations/ui/precaching/PreCachingViewModel.kt
41 3 2
fun initPlayers()
in app/src/main/java/com/amazon/ivs/optimizations/ui/rebuffertolive/RebufferToLiveViewModel.kt
36 2 3
fun initPlayers()
in app/src/main/java/com/amazon/ivs/optimizations/ui/catchuptolive/CatchUpToLiveViewModel.kt
35 2 3
override fun onViewCreated()
in app/src/main/java/com/amazon/ivs/optimizations/ui/precaching/PreCachingFragment.kt
32 1 2
override fun onViewCreated()
in app/src/main/java/com/amazon/ivs/optimizations/ui/settings/SettingsFragment.kt
31 4 2
override fun onViewCreated()
in app/src/main/java/com/amazon/ivs/optimizations/ui/catchuptolive/CatchUpToLiveFragment.kt
27 1 2
override fun onCreate()
in app/src/main/java/com/amazon/ivs/optimizations/ui/MainActivity.kt
27 1 1
override fun onViewCreated()
in app/src/main/java/com/amazon/ivs/optimizations/ui/rebuffertolive/RebufferToLiveFragment.kt
27 1 2
override fun onConfigurationChanged()
in app/src/main/java/com/amazon/ivs/optimizations/ui/catchuptolive/CatchUpToLiveFragment.kt
21 2 1
override fun onConfigurationChanged()
in app/src/main/java/com/amazon/ivs/optimizations/ui/rebuffertolive/RebufferToLiveFragment.kt
21 2 1
override fun onConfigurationChanged()
in app/src/main/java/com/amazon/ivs/optimizations/ui/precaching/PreCachingFragment.kt
19 2 1
override fun onViewCreated()
in app/src/main/java/com/amazon/ivs/optimizations/ui/home/HomeFragment.kt
13 1 2
override fun onKeyDown()
in app/src/main/java/com/amazon/ivs/optimizations/playerview/PlayerView.kt
12 4 2
override fun onBackPressed()
in app/src/main/java/com/amazon/ivs/optimizations/ui/MainActivity.kt
10 2 0
override fun onLayoutChange()
in app/src/main/java/com/amazon/ivs/optimizations/playerview/PlayerView.kt
10 3 9
fun setControlsEnabled()
in app/src/main/java/com/amazon/ivs/optimizations/playerview/PlayerView.kt
8 2 1
override fun onViewAttachedToWindow()
in app/src/main/java/com/amazon/ivs/optimizations/playerview/PlayerView.kt
8 3 1
fun setLayoutParams()
in app/src/main/java/com/amazon/ivs/optimizations/playerview/PlayerView.kt
8 1 3
fun release()
in app/src/main/java/com/amazon/ivs/optimizations/ui/precaching/PreCachingViewModel.kt
7 1 0
fun release()
in app/src/main/java/com/amazon/ivs/optimizations/ui/catchuptolive/CatchUpToLiveViewModel.kt
7 1 0