dart-lang / appengine
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 2,966 units with 21,289 lines of code in units (15.6% of code).
    • 4 very long units (569 lines of code)
    • 22 long units (1,333 lines of code)
    • 203 medium size units (5,638 lines of code)
    • 374 small units (5,423 lines of code)
    • 2,363 very small units (8,326 lines of code)
2% | 6% | 26% | 25% | 39%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
dart2% | 6% | 26% | 25% | 39%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
lib/src/grpc_api/dart2% | 6% | 25% | 26% | 39%
lib/src/grpc_api_impl0% | 23% | 48% | 8% | 18%
lib/src0% | 0% | 54% | 18% | 26%
lib/src/server0% | 0% | 57% | 24% | 18%
lib0% | 0% | 75% | 0% | 25%
lib/src/api_impl0% | 0% | 0% | 31% | 68%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
factory Version()
in lib/src/grpc_api/dart/google/appengine/v1beta/version.pb.dart
165 41 41
factory Version()
in lib/src/grpc_api/dart/google/appengine/v1/version.pb.dart
161 40 40
factory RequestLog()
in lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pb.dart
137 34 34
factory Service()
in lib/src/grpc_api/dart/google/api/service.pb.dart
106 26 14
factory FileOptions()
in lib/src/grpc_api/dart/google/protobuf/descriptor.pb.dart
90 22 9
factory Instance()
in lib/src/grpc_api/dart/google/appengine/v1beta/instance.pb.dart
73 18 18
factory Instance()
in lib/src/grpc_api/dart/google/appengine/v1/instance.pb.dart
73 18 18
factory LogEntry()
in lib/src/grpc_api/dart/google/logging/v2/log_entry.pb.dart
69 17 17
factory HttpRequest()
in lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pb.dart
65 16 16
factory HttpRequest()
in lib/src/grpc_api/dart/google/logging/type/http_request.pb.dart
65 16 16
factory AutomaticScaling()
in lib/src/grpc_api/dart/google/appengine/v1beta/version.pb.dart
61 15 15
factory Application()
in lib/src/grpc_api/dart/google/appengine/v1beta/application.pb.dart
61 15 15
factory Application()
in lib/src/grpc_api/dart/google/appengine/v1/application.pb.dart
61 15 15
static _QueryPageImpl fromQueryResult()
in lib/src/grpc_api_impl/datastore_impl.dart
60 18 7
factory Value()
in lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pb.dart
57 14 14
factory Value()
in lib/src/grpc_api/dart/google/datastore/v1/entity.pb.dart
57 14 14
factory AutomaticScaling()
in lib/src/grpc_api/dart/google/appengine/v1/version.pb.dart
57 14 14
factory Type()
in lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pb.dart
57 14 14
void _enqueue()
in lib/src/grpc_api_impl/logging_impl.dart
55 5 3
factory LogSink()
in lib/src/grpc_api/dart/google/logging/v2/logging_config.pb.dart
54 13 4