dart-lang / dart_style
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 404 units with 4,880 lines of code in units (80.4% of code).
    • 2 very long units (204 lines of code)
    • 8 long units (543 lines of code)
    • 58 medium size units (1,662 lines of code)
    • 77 small units (1,125 lines of code)
    • 259 very small units (1,346 lines of code)
4% | 11% | 34% | 23% | 27%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
dart4% | 11% | 34% | 23% | 27%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
lib/src/cli57% | 0% | 0% | 15% | 27%
lib/src0% | 11% | 35% | 26% | 26%
example0% | 57% | 0% | 16% | 25%
lib/src/line_splitting0% | 11% | 62% | 4% | 20%
lib/src/rule0% | 0% | 16% | 19% | 64%
tool0% | 0% | 35% | 55% | 10%
benchmark0% | 0% | 52% | 0% | 47%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
Future run()
in lib/src/cli/format_command.dart
102 31 0
void defineOptions()
in lib/src/cli/options.dart
102 11 3
void dumpChunks()
in lib/src/debug.dart
100 25 2
SourceCode formatSource()
in lib/src/dart_formatter.dart
76 12 1
void visitIfElement()
in lib/src/source_visitor.dart
67 15 1
void writeComments()
in lib/src/chunk_builder.dart
65 23 3
void runTest()
in example/format.dart
62 11 2
void visitFormalParameterList()
in lib/src/source_visitor.dart
60 14 2
void _visitCollectionLiteral()
in lib/src/source_visitor.dart
59 16 5
void _calculateCost()
in lib/src/line_splitting/solve_state.dart
54 16 0
void visit()
in lib/src/call_chain_visitor.dart
48 12 0
bool writePrecedingCommentsAndNewlines()
in lib/src/source_visitor.dart
48 19 1
int _completeLine()
in lib/src/line_writer.dart
45 13 5
void _writeCommentText()
in lib/src/chunk_builder.dart
39 14 1
bool tryBind()
in lib/src/line_splitting/rule_set.dart
38 17 4
Future formatStdin()
in lib/src/io.dart
38 4 3
void _visitTrailingCommaParameterList()
in lib/src/source_visitor.dart
37 8 1
factory CallChainVisitor()
in lib/src/call_chain_visitor.dart
36 9 2
void visitAdjacentStrings()
in lib/src/source_visitor.dart
36 18 1
void visitBlock()
in lib/src/source_visitor.dart
36 10 1