dart-lang / site-shared
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 127 units with 1,498 lines of code in units (48.9% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (78 lines of code)
    • 22 medium size units (598 lines of code)
    • 28 small units (401 lines of code)
    • 76 very small units (421 lines of code)
0% | 5% | 39% | 26% | 28%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
dart0% | 7% | 41% | 28% | 23%
rb0% | 0% | 37% | 23% | 39%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
packages/code_excerpt_updater/lib/src0% | 10% | 42% | 23% | 24%
src/_plugins0% | 0% | 37% | 23% | 39%
packages/code_excerpter/lib/src0% | 0% | 50% | 36% | 13%
packages/code_excerpt_updater/lib0% | 0% | 26% | 51% | 21%
packages/code_excerpter/lib0% | 0% | 0% | 44% | 55%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
Iterable _getUpdatedCodeBlock()
in packages/code_excerpt_updater/lib/src/code_excerpt_updater.dart
78 14 1
Iterable? getDiff()
in packages/code_excerpt_updater/lib/src/differ.dart
44 15 4
CodeTransformer? codeTransformer()
in packages/code_excerpt_updater/lib/src/code_transformer/replace.dart
39 7 1
process_code_pane
in src/_plugins/code_excerpt_processor.rb
36 10 3
String? _getExcerptAsStringFromYaml()
in packages/code_excerpt_updater/lib/src/excerpt_getter.dart
31 5 2
process_code_excerpt
in src/_plugins/code_excerpt_processor.rb
31 9 1
ancestors
in src/_plugins/breadcrumb.rb
30 9 0
void _processSetInstruction()
in packages/code_excerpt_updater/lib/src/code_excerpt_updater.dart
29 11 1
String? _getExcerptAsStringLegacy()
in packages/code_excerpt_updater/lib/src/excerpt_getter.dart
29 3 2
void _endRegion()
in packages/code_excerpter/lib/src/excerpter.dart
29 6 1
Excerpter weave()
in packages/code_excerpter/lib/src/excerpter.dart
26 7 0
code2html
in src/_plugins/prettify_core.rb
26 5 5
String _processLines()
in packages/code_excerpt_updater/lib/src/code_excerpt_updater.dart
24 6 0
process_pi_args
in src/_plugins/code_excerpt_processor.rb
24 7 1
void _extractAndNormalizeNamedArgs()
in packages/code_excerpt_updater/lib/src/args.dart
23 4 2
CodeTransformer? _excerptCodeTransformer()
in packages/code_excerpt_updater/lib/src/code_excerpt_updater.dart
23 5 2
CodeTransformer? _argToTransformer()
in packages/code_excerpt_updater/lib/src/code_excerpt_updater.dart
23 9 2
bool keepLines()
in packages/code_excerpt_updater/lib/src/diff/diff.dart
23 8 2
get_code_frag
in src/_plugins/code_excerpt_processor.rb
23 7 4
void _processLine()
in packages/code_excerpter/lib/src/excerpter.dart
22 5 0