google / cpp-proto-builder
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 55 files with 6,494 lines of code.
    • 1 very long files (1,117 lines of code)
    • 2 long files (1,192 lines of code)
    • 4 medium size files (1,165 lines of codeclsfd_ftr_w_mp_ins)
    • 10 small files (1,500 lines of code)
    • 38 very small files (1,520 lines of code)
17% | 18% | 17% | 23% | 23%
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
bzl78% | 0% | 14% | 0% | 7%
cc0% | 20% | 31% | 30% | 16%
h0% | 34% | 0% | 22% | 42%
proto0% | 0% | 0% | 100% | 0%
tpl0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
proto_builder26% | 14% | 20% | 25% | 13%
proto_builder/oss/testing0% | 56% | 27% | 15% | <1%
proto_builder/oss0% | 0% | 0% | 24% | 75%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
proto_builder.bzl
in proto_builder
1117 -
field_builder.cc
in proto_builder
635 41
proto_test_util.h
in proto_builder/oss/testing
557 66
template_builder.cc
in proto_builder
356 16
proto_builder_config.cc
in proto_builder
330 10
proto_test_util.cc
in proto_builder/oss/testing
273 18
build_oss.bzl
in proto_builder
206 -
proto
proto_builder.proto
in proto_builder
189 -
message_builder.cc
in proto_builder
170 6
descriptor_util.cc
in proto_builder
166 3
template_dictionary.cc
in proto_builder/oss
165 9
proto_builder.cc
in proto_builder
162 2
status_matcher.h
in proto_builder/oss/testing
150 16
builder_writer.cc
in proto_builder
144 15
util.cc
in proto_builder
135 11
builder_writer.h
in proto_builder
111 4
logging_macros.h
in proto_builder/oss
108 3
tpl
default.h.tpl
in proto_builder
93 -
file_impl_oss.cc
in proto_builder/oss
92 4
sourcefile_database_impl_oss.cc
in proto_builder/oss
92 7
workspace.bzl
in root
84 -
tpl
default.cc.tpl
in proto_builder
79 -
field_builder.h
in proto_builder
79 2
template_builder.h
in proto_builder
73 -
parse_text_proto.cc
in proto_builder/oss
67 4
parse_textproto_file.cc
in proto_builder/oss
56 2
qcheck.h
in proto_builder/oss
56 1
parse_text_proto.h
in proto_builder/oss
52 3
message_builder.h
in proto_builder
51 -
proto_builder_config.h
in proto_builder
47 -
descriptor_util.h
in proto_builder
42 2
unified_diff.cc
in proto_builder/oss
42 2
template_dictionary.h
in proto_builder/oss
40 2
file.h
in proto_builder/oss
39 1
util.h
in proto_builder/oss
39 2
tpl
default_interface.h.tpl
in proto_builder
37 -
file.cc
in proto_builder/oss
37 3
init_program.cc
in proto_builder/oss
30 2
source_location.h
in proto_builder/oss
30 5
qcheck.cc
in proto_builder/oss
25 -
util.h
in proto_builder
25 -
build_oss.bzl
in proto_builder/oss
24 -
sourcefile_database.h
in proto_builder/oss
23 -
logging.h
in proto_builder/oss
22 -
proto_conversion_helpers.cc
in proto_builder/oss
22 2
util_internal.h
in proto_builder/oss
22 -
proto_builder_data.gen.cc
in proto_builder
22 -
proto_conversion_helpers.h
in proto_builder/oss
13 -
get_runfiles_dir.cc
in proto_builder/oss
12 1
proto_builder_config_data.gen.cc
in proto_builder
10 -
Files With Most Units (Top 20)
File# lines# units
proto_test_util.h
in proto_builder/oss/testing
557 66
field_builder.cc
in proto_builder
635 41
proto_test_util.cc
in proto_builder/oss/testing
273 18
status_matcher.h
in proto_builder/oss/testing
150 16
template_builder.cc
in proto_builder
356 16
builder_writer.cc
in proto_builder
144 15
util.cc
in proto_builder
135 11
proto_builder_config.cc
in proto_builder
330 10
template_dictionary.cc
in proto_builder/oss
165 9
sourcefile_database_impl_oss.cc
in proto_builder/oss
92 7
message_builder.cc
in proto_builder
170 6
source_location.h
in proto_builder/oss
30 5
builder_writer.h
in proto_builder
111 4
file_impl_oss.cc
in proto_builder/oss
92 4
parse_text_proto.cc
in proto_builder/oss
67 4
descriptor_util.cc
in proto_builder
166 3
file.cc
in proto_builder/oss
37 3
logging_macros.h
in proto_builder/oss
108 3
parse_text_proto.h
in proto_builder/oss
52 3
descriptor_util.h
in proto_builder
42 2
Files With Long Lines (Top 2)

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

File# lines# units# long lines
get_runfiles_dir.cc
in proto_builder/oss
12 1 1
workspace.bzl
in root
84 - 1