facebookincubator / Battery-Metrics
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 420 units with 4,081 lines of code in units (71.7% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (51 lines of code)
    • 37 medium size units (1,107 lines of code)
    • 114 small units (1,621 lines of code)
    • 268 very small units (1,302 lines of code)
0% | 1% | 27% | 39% | 31%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 1% | 27% | 39% | 31%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
serializers/src/main/java/com/facebook/battery/serializer/healthstats0% | 42% | 42% | 0% | 15%
metrics/src/main/java/com/facebook/battery/metrics/healthstats0% | 0% | 44% | 34% | 21%
metrics/src/main/java/com/facebook/battery/metrics/cpu0% | 0% | 30% | 41% | 28%
metrics/src/main/java/com/facebook/battery/metrics/sensor0% | 0% | 38% | 32% | 29%
sample/src/main/java/com/facebook/battery/sample0% | 0% | 59% | 15% | 24%
metrics/src/main/java/com/facebook/battery/metrics/core0% | 0% | 39% | 18% | 42%
metrics/src/main/java/com/facebook/battery/metrics/wakelock0% | 0% | 35% | 35% | 28%
metrics/src/main/java/com/facebook/battery/metrics/network0% | 0% | 16% | 50% | 32%
metrics/src/main/java/com/facebook/battery/metrics/disk0% | 0% | 38% | 50% | 11%
metrics/src/main/java/com/facebook/battery/metrics/composite0% | 0% | 26% | 53% | 19%
metrics/src/main/java/com/facebook/battery/metrics/devicebattery0% | 0% | 27% | 47% | 24%
reporters/src/main/java/com/facebook/battery/reporter/disk0% | 0% | 100% | 0% | 0%
metrics/src/main/java/com/facebook/battery/metrics/memory0% | 0% | 20% | 48% | 30%
metrics/src/main/java/com/facebook/battery/metrics/appwakeup0% | 0% | 12% | 41% | 46%
serializers/src/main/java/com/facebook/battery/serializer/composite0% | 0% | 50% | 42% | 7%
metrics/src/main/java/com/facebook/battery/metrics/bluetooth0% | 0% | 0% | 64% | 35%
metrics/src/main/java/com/facebook/battery/metrics/camera0% | 0% | 0% | 40% | 60%
serializers/src/main/java/com/facebook/battery/serializer/wakelock0% | 0% | 0% | 91% | 8%
reporters/src/main/java/com/facebook/battery/reporter/network0% | 0% | 0% | 100% | 0%
serializers/src/main/java/com/facebook/battery/serializer/cpu0% | 0% | 0% | 58% | 41%
metrics/src/main/java/com/facebook/battery/metrics/time0% | 0% | 0% | 42% | 57%
serializers/src/main/java/com/facebook/battery/serializer/appwakeup0% | 0% | 0% | 70% | 29%
serializers/src/main/java/com/facebook/battery/serializer/disk0% | 0% | 0% | 88% | 11%
reporters/src/main/java/com/facebook/battery/reporter/memory0% | 0% | 0% | 100% | 0%
reporters/src/main/java/com/facebook/battery/reporter/wakelock0% | 0% | 0% | 81% | 18%
reporters/src/main/java/com/facebook/battery/reporter/cpu0% | 0% | 0% | 70% | 30%
reporters/src/main/java/com/facebook/battery/reporter/bluetooth0% | 0% | 0% | 100% | 0%
reporters/src/main/java/com/facebook/battery/reporter/sensor0% | 0% | 0% | 100% | 0%
serializers/src/main/java/com/facebook/battery/serializer/memory0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/devicebattery0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/network0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/bluetooth0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/core0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/sensor0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/camera0% | 0% | 0% | 0% | 100%
serializers/src/main/java/com/facebook/battery/serializer/time0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/composite0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/appwakeup0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/healthstats0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/camera0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/time0% | 0% | 0% | 0% | 100%
reporters/src/main/java/com/facebook/battery/reporter/devicebattery0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
51 9 2
50 9 2
48 9 1
48 2 1
44 13 1
43 9 1
40 5 1
40 10 1
38 11 2
37 8 1
36 8 1
34 4 0
33 8 4
29 8 2
29 10 2
28 8 1
28 5 1
27 8 2
27 6 1
27 8 3
27 9 2
26 6 0
26 7 2
26 6 0
25 6 0
24 8 2
24 4 0
23 9 0
23 7 2
23 4 2
23 5 2
22 5 2
22 4 3
22 1 0
22 6 2
21 6 2
21 7 2
21 6 2
20 7 2
19 7 2
19 8 3
19 6 1
19 7 1
19 6 1
19 3 2
19 3 2
18 5 2
18 4 2
18 4 2
18 4 2