dart-lang / ffigen
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 53 files with 14,847 lines of code.
    • 3 very long files (9,722 lines of code)
    • 1 long files (741 lines of code)
    • 6 medium size files (1,733 lines of codeclsfd_ftr_w_mp_ins)
    • 8 small files (1,175 lines of code)
    • 35 very small files (1,476 lines of code)
65% | 4% | 11% | 7% | 9%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
dart66% | 5% | 11% | 8% | 8%
yaml0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
example/libclang-example98% | 0% | 0% | 0% | 1%
lib/src/header_parser43% | 0% | 28% | 10% | 17%
example/c_json90% | 0% | 0% | 0% | 9%
lib/src/config_provider0% | 52% | 44% | 0% | 3%
lib/src/code_generator0% | 0% | 23% | 43% | 33%
lib/src/executables0% | 0% | 0% | 100% | 0%
lib/src0% | 0% | 0% | 89% | 10%
example/simple0% | 0% | 0% | 0% | 100%
tool0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
example/simple/headers0% | 0% | 0% | 0% | 100%
lib0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
generated_bindings.dart
in example/libclang-example
7368 302
clang_bindings.dart
in lib/src/header_parser/clang_bindings
1242 55
cjson_generated_bindings.dart
in example/c_json
1112 32
spec_utils.dart
in lib/src/config_provider
741 37
config.dart
in lib/src/config_provider
379 3
utils.dart
in lib/src/header_parser
335 53
type.dart
in lib/src/code_generator
310 12
config_types.dart
in lib/src/config_provider
245 10
macro_parser.dart
in lib/src/header_parser/sub_parsers
239 11
compounddecl_parser.dart
in lib/src/header_parser/sub_parsers
225 3
extractor.dart
in lib/src/header_parser/type_extractor
194 3
writer.dart
in lib/src/code_generator
185 6
ffigen.dart
in lib/src/executables
166 9
strings.dart
in lib/src
142 -
compound.dart
in lib/src/code_generator
141 5
func.dart
in lib/src/code_generator
136 2
library.dart
in lib/src/code_generator
108 6
functiondecl_parser.dart
in lib/src/header_parser/sub_parsers
103 4
libclang_config.yaml
in tool
95 -
enumdecl_parser.dart
in lib/src/header_parser/sub_parsers
91 4
generated_bindings.dart
in example/simple
85 2
parser.dart
in lib/src/header_parser
75 3
main.dart
in example/c_json
73 4
pubspec.yaml
in example/libclang-example
69 -
translation_unit_parser.dart
in lib/src/header_parser
67 3
dart_keywords.dart
in lib/src/code_generator
64 -
typedefdecl_parser.dart
in lib/src/header_parser/sub_parsers
64 1
global.dart
in lib/src/code_generator
62 2
enum_class.dart
in lib/src/code_generator
60 3
includer.dart
in lib/src/header_parser
53 10
unnamed_enumdecl_parser.dart
in lib/src/header_parser/sub_parsers
53 3
custom_import.dart
in example/libclang-example
48 -
pubspec.yaml
in example/c_json
47 -
utils.dart
in lib/src/code_generator
44 7
path_finder.dart
in lib/src/config_provider
43 1
binding.dart
in lib/src/code_generator
42 -
imports.dart
in lib/src/code_generator
39 -
typealias.dart
in lib/src/code_generator
39 2
constant.dart
in lib/src/code_generator
37 2
var_parser.dart
in lib/src/header_parser/sub_parsers
36 1
cxtypekindmap.dart
in lib/src/header_parser/type_extractor
33 -
data.dart
in lib/src/header_parser
25 1
struc.dart
in lib/src/code_generator
21 -
union.dart
in lib/src/code_generator
21 -
pubspec.yaml
in root
19 -
binding_string.dart
in lib/src/code_generator
16 1
pubspec.yaml
in example/simple
16 -
code_generator.dart
in lib/src
13 -
analysis_options.yaml
in root
13 -
example.h
in example/simple/headers
5 -
Files With Most Units (Top 20)
File# lines# units
generated_bindings.dart
in example/libclang-example
7368 302
clang_bindings.dart
in lib/src/header_parser/clang_bindings
1242 55
utils.dart
in lib/src/header_parser
335 53
spec_utils.dart
in lib/src/config_provider
741 37
cjson_generated_bindings.dart
in example/c_json
1112 32
type.dart
in lib/src/code_generator
310 12
macro_parser.dart
in lib/src/header_parser/sub_parsers
239 11
config_types.dart
in lib/src/config_provider
245 10
includer.dart
in lib/src/header_parser
53 10
ffigen.dart
in lib/src/executables
166 9
utils.dart
in lib/src/code_generator
44 7
library.dart
in lib/src/code_generator
108 6
writer.dart
in lib/src/code_generator
185 6
compound.dart
in lib/src/code_generator
141 5
enumdecl_parser.dart
in lib/src/header_parser/sub_parsers
91 4
functiondecl_parser.dart
in lib/src/header_parser/sub_parsers
103 4
main.dart
in example/c_json
73 4
config.dart
in lib/src/config_provider
379 3
enum_class.dart
in lib/src/code_generator
60 3
translation_unit_parser.dart
in lib/src/header_parser
67 3
Files With Long Lines (Top 6)

There are 6 files with lines longer than 120 characters. In total, there are 14 long lines.

File# lines# units# long lines
compounddecl_parser.dart
in lib/src/header_parser/sub_parsers
225 3 6
writer.dart
in lib/src/code_generator
185 6 3
spec_utils.dart
in lib/src/config_provider
741 37 2
global.dart
in lib/src/code_generator
62 2 1
func.dart
in lib/src/code_generator
136 2 1
utils.dart
in lib/src/header_parser
335 53 1