android / media-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 774 units with 6,927 lines of code in units (73.1% of code).
    • 1 very long units (149 lines of code)
    • 4 long units (242 lines of code)
    • 66 medium size units (1,948 lines of code)
    • 127 small units (1,811 lines of code)
    • 576 very small units (2,777 lines of code)
2% | 3% | 28% | 26% | 40%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java2% | 3% | 27% | 26% | 39%
kt0% | 0% | 32% | 20% | 47%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
MediaRouter5% | 2% | 30% | 28% | 32%
PictureInPicture0% | 12% | 21% | 25% | 40%
MidiScope0% | 4% | 24% | 28% | 43%
MidiSynth0% | 4% | 23% | 24% | 47%
BasicMediaDecoder0% | 0% | 57% | 19% | 23%
PictureInPictureKotlin0% | 0% | 41% | 15% | 42%
ScreenCapture0% | 0% | 17% | 23% | 58%
MediaRecorder0% | 0% | 45% | 18% | 35%
BasicMediaRouter0% | 0% | 21% | 34% | 44%
VideoPlayer0% | 0% | 0% | 38% | 61%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
protected void onCreate()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/MainActivity.java
149 12 1
public MovieView()
in PictureInPicture/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.java
76 11 3
public void onSend()
in MidiScope/Application/src/main/java/com/example/android/common/midi/MidiFramer.java
56 15 4
public void onSend()
in MidiSynth/Application/src/main/java/com/example/android/common/midi/MidiFramer.java
56 15 4
private void publishRoutes()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/provider/SampleMediaRouteProvider.java
54 1 0
public void startPlayback()
in BasicMediaDecoder/Application/src/main/java/com/example/android/basicmediadecoder/MainActivity.java
48 10 0
static
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/provider/SampleMediaRouteProvider.java
45 1 0
public void println()
in MediaRouter/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
protected void onMeasure()
in PictureInPicture/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.java
44 10 2
public void println()
in ScreenCapture/Application/src/main/java/com/example/android/common/logger/LogView.java
44 9 4
public void connectToDevicePort()
in MidiScope/Application/src/main/java/com/example/android/common/midi/MidiPortConnector.java
44 5 6
public void connectToDevicePort()
in MidiSynth/Application/src/main/java/com/example/android/common/midi/MidiPortConnector.java
44 5 6
public boolean onControlRequest()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/provider/SampleMediaRouteProvider.java
42 16 2
private boolean handleEnqueue()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/provider/SampleMediaRouteProvider.java
42 6 2
private boolean prepareVideoRecorder()
in MediaRecorder/Application/src/main/java/com/example/android/mediarecorder/MainActivity.java
42 5 0
public boolean handleMediaKey()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/MainActivity.java
41 10 1
override fun onMeasure()
in PictureInPictureKotlin/app/src/main/java/com/example/android/pictureinpicture/widget/MovieView.kt
41 9 2
private void createWindow()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/OverlayDisplayWindow.java
40 4 0
private void enqueueInternal()
in MediaRouter/Application/src/main/java/com/example/android/mediarouter/player/RemotePlayer.java
37 8 1
private void update()
in BasicMediaDecoder/Application/src/main/java/com/example/android/common/media/MediaCodecWrapper.java
36 7 0