hhvm / definition-finder
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 93 files with 2,818 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 1 medium size files (243 lines of codeclsfd_ftr_w_mp_ins)
    • 2 small files (276 lines of code)
    • 90 very small files (2,299 lines of code)
0% | 0% | 8% | 9% | 81%
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
hack0% | 0% | 8% | 9% | 81%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/consumers0% | 0% | 22% | 10% | 67%
src/definitions0% | 0% | 0% | 20% | 79%
src/expression0% | 0% | 0% | 0% | 100%
src0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
typehint_from_ast.hack
in src/consumers
243 1
ScannedTypehint.hack
in src/definitions
163 14
classish_from_ast.hack
in src/consumers
113 1
85 1
82 24
ScannedClassish.hack
in src/definitions
82 17
79 5
71 -
ScannedScope.hack
in src/definitions
68 14
ScannedDefinition.hack
in src/definitions
60 13
generic_from_ast.hack
in src/consumers
51 1
ScannedParameter.hack
in src/definitions
51 10
parameters_from_ast.hack
in src/consumers
48 1
ScannedMethod.hack
in src/definitions
48 7
scope_from_ast.hack
in src/consumers
47 1
NameExpression.hack
in src/expression
46 1
45 -
ScannedProperty.hack
in src/definitions
44 9
property_from_ast.hack
in src/consumers
43 1
43 2
parameter_from_ast.hack
in src/consumers
42 1
ScannedConstant.hack
in src/definitions
42 6
method_from_ast.hack
in src/consumers
41 1
LiteralExpression.hack
in src/expression
38 1
37 9
32 1
StaticExpression.hack
in src/expression
31 1
31 1
ScannedShapeField.hack
in src/definitions
31 6
ScannedTypeConstant.hack
in src/definitions
30 4
ScannedFunctionish.hack
in src/definitions
30 5
typeish_from_ast.hack
in src/consumers
29 1
29 1
26 3
constant_from_ast.hack
in src/consumers
26 1
26 1
ScannedGeneric.hack
in src/definitions
26 6
merge_scopes.hack
in src/consumers
25 1
doccomment_from_ast.hack
in src/consumers
25 1
Expression.hack
in src/expression
24 4
StaticListExpression.hack
in src/expression
23 1
23 1
22 1
22 1
22 1
21 1
21 1
function_from_ast.hack
in src/consumers
20 1
name_from_ast.hack
in src/consumers
20 1
attributes_from_ast.hack
in src/consumers
19 1
Files With Most Units (Top 50)
File# lines# units
82 24
ScannedClassish.hack
in src/definitions
82 17
ScannedTypehint.hack
in src/definitions
163 14
ScannedScope.hack
in src/definitions
68 14
ScannedDefinition.hack
in src/definitions
60 13
ScannedParameter.hack
in src/definitions
51 10
37 9
ScannedProperty.hack
in src/definitions
44 9
ScannedMethod.hack
in src/definitions
48 7
ScannedGeneric.hack
in src/definitions
26 6
ScannedConstant.hack
in src/definitions
42 6
ScannedShapeField.hack
in src/definitions
31 6
79 5
ScannedFunctionish.hack
in src/definitions
30 5
Expression.hack
in src/expression
24 4
ScannedTypeConstant.hack
in src/definitions
30 4
ScannedExpression.hack
in src/definitions
18 4
26 3
43 2
ScannedTypeish.hack
in src/definitions
18 2
5 1
8 1
ast_without_trivia.hack
in src/consumers
10 1
function_from_ast.hack
in src/consumers
20 1
typehint_from_ast.hack
in src/consumers
243 1
constants_from_ast.hack
in src/consumers
12 1
typeish_from_ast.hack
in src/consumers
29 1
method_from_ast.hack
in src/consumers
41 1
generics_from_ast.hack
in src/consumers
15 1
32 1
constant_from_ast.hack
in src/consumers
26 1
18 1
parameters_from_ast.hack
in src/consumers
48 1
parameter_from_ast.hack
in src/consumers
42 1
generic_from_ast.hack
in src/consumers
51 1
value_from_ast.hack
in src/consumers
17 1
13 1
property_from_ast.hack
in src/consumers
43 1
attributes_from_ast.hack
in src/consumers
19 1
29 1
85 1
12 1
classish_from_ast.hack
in src/consumers
113 1
scope_from_ast.hack
in src/consumers
47 1
enum_from_ast.hack
in src/consumers
14 1
name_from_ast.hack
in src/consumers
20 1
typehints_from_ast.hack
in src/consumers
15 1
merge_scopes.hack
in src/consumers
25 1
doccomment_from_ast.hack
in src/consumers
25 1
14 1
Files With Long Lines (Top 0)

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

File# lines# units# long lines
Correlations

File Size vs. Commits (all time): 93 points

src/expression/StaticBinaryExpression.hack x: 4 commits (all time) y: 71 lines of code src/consumers/ScopeType.hack x: 2 commits (all time) y: 6 lines of code src/consumers/decl_name_in_context.hack x: 3 commits (all time) y: 14 lines of code src/consumers/typehint_from_ast.hack x: 11 commits (all time) y: 243 lines of code src/definitions/ScannedTypehint.hack x: 10 commits (all time) y: 163 lines of code src/consumers/mangle_xhp_name_token.hack x: 2 commits (all time) y: 8 lines of code src/expression/StaticExpression.hack x: 3 commits (all time) y: 31 lines of code src/Option.hack x: 2 commits (all time) y: 37 lines of code src/ParseException.hack x: 2 commits (all time) y: 26 lines of code src/consumers/name_from_ast.hack x: 4 commits (all time) y: 20 lines of code src/consumers/parameters_from_ast.hack x: 5 commits (all time) y: 48 lines of code src/consumers/scope_from_ast.hack x: 6 commits (all time) y: 47 lines of code src/consumers/parameter_from_ast.hack x: 4 commits (all time) y: 42 lines of code src/consumers/parameter_info_from_decorated_expression.hack x: 5 commits (all time) y: 32 lines of code src/definitions/ScannedParameter.hack x: 3 commits (all time) y: 51 lines of code src/expression/LiteralExpression.hack x: 2 commits (all time) y: 38 lines of code src/definitions/TypeTextOptions.hack x: 1 commits (all time) y: 4 lines of code src/FileParser.hack x: 5 commits (all time) y: 79 lines of code src/consumers/classish_from_ast.hack x: 6 commits (all time) y: 113 lines of code src/consumers/function_from_ast.hack x: 2 commits (all time) y: 20 lines of code src/consumers/method_from_ast.hack x: 5 commits (all time) y: 41 lines of code src/consumers/scope_from_ast_and_ns.hack x: 6 commits (all time) y: 85 lines of code src/consumers/merge_scopes.hack x: 4 commits (all time) y: 25 lines of code src/consumers/type_constant_from_ast.hack x: 5 commits (all time) y: 29 lines of code src/consumers/attributes_from_ast.hack x: 3 commits (all time) y: 19 lines of code src/consumers/property_from_ast.hack x: 4 commits (all time) y: 43 lines of code src/TreeParser.hack x: 3 commits (all time) y: 43 lines of code src/consumers/ast_without_trivia.hack x: 3 commits (all time) y: 10 lines of code src/consumers/constant_from_ast.hack x: 3 commits (all time) y: 26 lines of code src/consumers/generic_from_ast.hack x: 4 commits (all time) y: 51 lines of code src/consumers/shape_field_from_ast.hack x: 2 commits (all time) y: 18 lines of code src/consumers/typehints_from_ast.hack x: 3 commits (all time) y: 15 lines of code src/consumers/typehints_from_ast_va.hack x: 3 commits (all time) y: 12 lines of code src/consumers/typeish_from_ast.hack x: 2 commits (all time) y: 29 lines of code src/definitions/ScannedDefinition.hack x: 3 commits (all time) y: 60 lines of code src/definitions/ScannedScope.hack x: 3 commits (all time) y: 68 lines of code src/expression/StaticScopeResolutionExpression.hack x: 2 commits (all time) y: 19 lines of code src/expression/Expression.hack x: 3 commits (all time) y: 24 lines of code src/expression/NameExpression.hack x: 2 commits (all time) y: 46 lines of code src/expression/StaticListExpression.hack x: 4 commits (all time) y: 23 lines of code src/consumers/constants_from_ast.hack x: 2 commits (all time) y: 12 lines of code src/consumers/context_with_node_position.hack x: 2 commits (all time) y: 13 lines of code src/consumers/generics_from_ast.hack x: 2 commits (all time) y: 15 lines of code src/consumers/value_from_ast.hack x: 2 commits (all time) y: 17 lines of code src/definitions/ScannedClassish.hack x: 2 commits (all time) y: 82 lines of code src/definitions/ScannedConstant.hack x: 2 commits (all time) y: 42 lines of code src/definitions/ScannedFunctionish.hack x: 2 commits (all time) y: 30 lines of code src/definitions/ScannedMethod.hack x: 2 commits (all time) y: 48 lines of code src/definitions/ScannedProperty.hack x: 2 commits (all time) y: 44 lines of code src/definitions/ScannedShapeField.hack x: 2 commits (all time) y: 31 lines of code src/expression/StaticDarrayExpression.hack x: 2 commits (all time) y: 22 lines of code src/BaseParser.hack x: 1 commits (all time) y: 82 lines of code src/ClassDefinitionType.hack x: 1 commits (all time) y: 6 lines of code src/Exception.hack x: 1 commits (all time) y: 3 lines of code src/SourcePosition.hack x: 1 commits (all time) y: 2 lines of code src/consumers/enum_from_ast.hack x: 1 commits (all time) y: 14 lines of code src/definitions/DefinitionType.hack x: 1 commits (all time) y: 12 lines of code src/definitions/HasScannedGenerics.hack x: 1 commits (all time) y: 5 lines of code src/definitions/ScannedClass.hack x: 1 commits (all time) y: 7 lines of code src/definitions/ScannedGeneric.hack x: 1 commits (all time) y: 26 lines of code src/expression/BooleanLIteralExpression.hack x: 1 commits (all time) y: 22 lines of code src/expression/DecimalLiteralExpression.hack x: 1 commits (all time) y: 11 lines of code src/expression/DoubleQuotedStringLiteralExpression.hack x: 1 commits (all time) y: 13 lines of code src/expression/HeredocStringLiteralExpression.hack x: 1 commits (all time) y: 21 lines of code src/expression/StaticElementInitializerExpression.hack x: 1 commits (all time) y: 19 lines of code src/expression/StaticKeysetExpression.hack x: 1 commits (all time) y: 31 lines of code src/expression/StaticVarrayExpression.hack x: 1 commits (all time) y: 23 lines of code src/expression/StaticVecExpression.hack x: 1 commits (all time) y: 15 lines of code src/typedefs.hack x: 1 commits (all time) y: 45 lines of code
243.0
lines of code
  min: 2.0
  average: 30.3
  25th percentile: 12.0
  median: 21.0
  75th percentile: 39.5
  max: 243.0
0 11.0
commits (all time)
min: 1.0 | average: 2.4 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 11.0

File Size vs. Contributors (all time): 93 points

src/expression/StaticBinaryExpression.hack x: 1 contributors (all time) y: 71 lines of code src/consumers/ScopeType.hack x: 1 contributors (all time) y: 6 lines of code src/consumers/decl_name_in_context.hack x: 2 contributors (all time) y: 14 lines of code src/consumers/typehint_from_ast.hack x: 3 contributors (all time) y: 243 lines of code src/definitions/ScannedTypehint.hack x: 3 contributors (all time) y: 163 lines of code src/consumers/mangle_xhp_name_token.hack x: 2 contributors (all time) y: 8 lines of code src/expression/StaticExpression.hack x: 2 contributors (all time) y: 31 lines of code src/Option.hack x: 2 contributors (all time) y: 37 lines of code src/ParseException.hack x: 2 contributors (all time) y: 26 lines of code src/consumers/name_from_ast.hack x: 2 contributors (all time) y: 20 lines of code src/consumers/parameters_from_ast.hack x: 2 contributors (all time) y: 48 lines of code src/consumers/scope_from_ast.hack x: 2 contributors (all time) y: 47 lines of code src/consumers/parameter_from_ast.hack x: 2 contributors (all time) y: 42 lines of code src/consumers/parameter_info_from_decorated_expression.hack x: 2 contributors (all time) y: 32 lines of code src/definitions/ScannedParameter.hack x: 2 contributors (all time) y: 51 lines of code src/expression/LiteralExpression.hack x: 2 contributors (all time) y: 38 lines of code src/definitions/TypeTextOptions.hack x: 1 contributors (all time) y: 4 lines of code src/FileParser.hack x: 2 contributors (all time) y: 79 lines of code src/consumers/classish_from_ast.hack x: 3 contributors (all time) y: 113 lines of code src/consumers/method_from_ast.hack x: 3 contributors (all time) y: 41 lines of code src/consumers/scope_from_ast_and_ns.hack x: 2 contributors (all time) y: 85 lines of code src/consumers/merge_scopes.hack x: 2 contributors (all time) y: 25 lines of code src/consumers/type_constant_from_ast.hack x: 2 contributors (all time) y: 29 lines of code src/consumers/attributes_from_ast.hack x: 2 contributors (all time) y: 19 lines of code src/consumers/property_from_ast.hack x: 1 contributors (all time) y: 43 lines of code src/consumers/ast_without_trivia.hack x: 1 contributors (all time) y: 10 lines of code src/consumers/constant_from_ast.hack x: 1 contributors (all time) y: 26 lines of code src/consumers/doccomment_from_ast.hack x: 1 contributors (all time) y: 25 lines of code src/consumers/generic_from_ast.hack x: 1 contributors (all time) y: 51 lines of code src/consumers/shape_field_from_ast.hack x: 1 contributors (all time) y: 18 lines of code src/consumers/typehints_from_ast.hack x: 1 contributors (all time) y: 15 lines of code src/consumers/typehints_from_ast_va.hack x: 1 contributors (all time) y: 12 lines of code src/consumers/typeish_from_ast.hack x: 1 contributors (all time) y: 29 lines of code src/definitions/ScannedDefinition.hack x: 1 contributors (all time) y: 60 lines of code src/definitions/ScannedScope.hack x: 1 contributors (all time) y: 68 lines of code src/expression/StaticScopeResolutionExpression.hack x: 1 contributors (all time) y: 19 lines of code src/expression/Expression.hack x: 1 contributors (all time) y: 24 lines of code src/expression/NameExpression.hack x: 1 contributors (all time) y: 46 lines of code src/expression/StaticListExpression.hack x: 1 contributors (all time) y: 23 lines of code src/consumers/context_with_node_position.hack x: 1 contributors (all time) y: 13 lines of code src/consumers/value_from_ast.hack x: 1 contributors (all time) y: 17 lines of code src/definitions/ScannedClassish.hack x: 1 contributors (all time) y: 82 lines of code src/definitions/ScannedConstant.hack x: 1 contributors (all time) y: 42 lines of code src/definitions/ScannedFunctionish.hack x: 1 contributors (all time) y: 30 lines of code src/definitions/ScannedMethod.hack x: 1 contributors (all time) y: 48 lines of code src/definitions/ScannedProperty.hack x: 1 contributors (all time) y: 44 lines of code src/definitions/ScannedShapeField.hack x: 1 contributors (all time) y: 31 lines of code src/expression/StaticDarrayExpression.hack x: 1 contributors (all time) y: 22 lines of code src/Exception.hack x: 1 contributors (all time) y: 3 lines of code src/SourcePosition.hack x: 1 contributors (all time) y: 2 lines of code src/consumers/enum_from_ast.hack x: 1 contributors (all time) y: 14 lines of code src/definitions/HasScannedGenerics.hack x: 1 contributors (all time) y: 5 lines of code src/definitions/ScannedClass.hack x: 1 contributors (all time) y: 7 lines of code src/expression/DecimalLiteralExpression.hack x: 1 contributors (all time) y: 11 lines of code src/expression/HeredocStringLiteralExpression.hack x: 1 contributors (all time) y: 21 lines of code src/typedefs.hack x: 1 contributors (all time) y: 45 lines of code
243.0
lines of code
  min: 2.0
  average: 30.3
  25th percentile: 12.0
  median: 21.0
  75th percentile: 39.5
  max: 243.0
0 3.0
contributors (all time)
min: 1.0 | average: 1.29 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.5 | max: 3.0

File Size vs. Commits (30 days): 0 points

No data for "commits (30d)" vs. "lines of code".

File Size vs. Contributors (30 days): 0 points

No data for "contributors (30d)" vs. "lines of code".


File Size vs. Commits (90 days): 0 points

No data for "commits (90d)" vs. "lines of code".

File Size vs. Contributors (90 days): 0 points

No data for "contributors (90d)" vs. "lines of code".