hhvm / hack-codegen
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 65 files with 3,853 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 5 medium size files (1,618 lines of codeclsfd_ftr_w_mp_ins)
    • 4 small files (563 lines of code)
    • 56 very small files (1,672 lines of code)
0% | 0% | 41% | 14% | 43%
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% | 41% | 14% | 43%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src0% | 0% | 49% | 13% | 37%
src/key-value-render0% | 0% | 0% | 34% | 65%
src/_Private0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
468 50
379 43
281 32
246 28
244 30
190 36
HackBuilderValues.hack
in src/key-value-render
135 19
131 10
107 12
91 9
87 -
strip_hh_prefix.hack
in src/_Private
83 1
72 10
67 9
64 8
61 10
Filesystem.hack
in src/_Private
57 6
55 7
53 3
52 7
52 7
50 5
47 5
46 5
HackBuilderShapeRenderer.hack
in src/key-value-render
46 3
45 5
41 5
35 6
33 8
33 2
33 6
30 6
30 2
29 5
25 4
23 2
20 3
HackBuilderRegexRenderer.hack
in src/key-value-render
20 1
HackBuilderCodegenRenderer.hack
in src/key-value-render
18 1
HackBuilderKeys.hack
in src/key-value-render
17 4
16 2
HackBuilderKeyLambdaRenderer.hack
in src/key-value-render
16 2
15 1
15 2
HackBuilderCodeRenderer.hack
in src/key-value-render
15 1
HackBuilderLiteralRenderer.hack
in src/key-value-render
14 1
HackBuilderClassnameRenderer.hack
in src/key-value-render
14 1
14 2
StrBuffer.hack
in src/_Private
13 2
12 2
Files With Most Units (Top 50)
File# lines# units
468 50
379 43
190 36
281 32
244 30
246 28
HackBuilderValues.hack
in src/key-value-render
135 19
107 12
61 10
131 10
72 10
67 9
91 9
64 8
33 8
52 7
55 7
52 7
30 6
35 6
Filesystem.hack
in src/_Private
57 6
33 6
45 5
29 5
46 5
47 5
50 5
41 5
25 4
HackBuilderKeys.hack
in src/key-value-render
17 4
20 3
53 3
HackBuilderShapeRenderer.hack
in src/key-value-render
46 3
10 2
StrBuffer.hack
in src/_Private
13 2
15 2
12 2
16 2
HackBuilderKeyLambdaRenderer.hack
in src/key-value-render
16 2
23 2
33 2
14 2
30 2
7 1
15 1
C.hack
in src/_Private
10 1
7 1
Vec.hack
in src/_Private
11 1
strip_hh_prefix.hack
in src/_Private
83 1
HackBuilderCodeRenderer.hack
in src/key-value-render
15 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): 65 points

src/CodegenFile.hack x: 14 commits (all time) y: 468 lines of code src/CodegenFunctionish.hack x: 6 commits (all time) y: 246 lines of code src/key-value-render/HackBuilderRegexRenderer.hack x: 4 commits (all time) y: 20 lines of code src/key-value-render/HackBuilderValues.hack x: 6 commits (all time) y: 135 lines of code src/CodegenClassConstant.hack x: 2 commits (all time) y: 52 lines of code src/CodegenConstant.hack x: 2 commits (all time) y: 41 lines of code src/CodegenProperty.hack x: 2 commits (all time) y: 61 lines of code src/CodegenTypeConstant.hack x: 2 commits (all time) y: 55 lines of code src/CodegenXHPAttribute.hack x: 2 commits (all time) y: 72 lines of code src/SignedSource.hack x: 2 commits (all time) y: 14 lines of code src/CodegenClass.hack x: 7 commits (all time) y: 107 lines of code src/CodegenClassish.hack x: 5 commits (all time) y: 281 lines of code src/CodegenFactoryTrait.hack x: 4 commits (all time) y: 190 lines of code src/CodegenTrait.hack x: 2 commits (all time) y: 45 lines of code src/ICodegenFactory.hack x: 3 commits (all time) y: 87 lines of code src/XHPAttributeDecorator.hack x: 1 commits (all time) y: 15 lines of code src/SignedSourceBase.hack x: 3 commits (all time) y: 67 lines of code src/key-value-render/HackBuilderCodeRenderer.hack x: 3 commits (all time) y: 15 lines of code src/key-value-render/HackBuilderCodegenRenderer.hack x: 4 commits (all time) y: 18 lines of code src/BaseCodeBuilder.hack x: 7 commits (all time) y: 244 lines of code src/CodegenEnum.hack x: 2 commits (all time) y: 91 lines of code src/CodegenShapeMember.hack x: 4 commits (all time) y: 29 lines of code src/CodegenType.hack x: 2 commits (all time) y: 47 lines of code src/CodegenUsesTrait.hack x: 2 commits (all time) y: 33 lines of code src/HackBuilder.hack x: 4 commits (all time) y: 379 lines of code src/HackfmtFormatter.hack x: 6 commits (all time) y: 53 lines of code src/PartiallyGeneratedCode.hack x: 5 commits (all time) y: 131 lines of code src/_Private/Filesystem.hack x: 4 commits (all time) y: 57 lines of code src/_Private/Vec.hack x: 3 commits (all time) y: 11 lines of code src/_Private/strip_hh_prefix.hack x: 2 commits (all time) y: 83 lines of code src/key-value-render/HackBuilderClassnameRenderer.hack x: 3 commits (all time) y: 14 lines of code src/key-value-render/HackBuilderKeyExportRenderer.hack x: 2 commits (all time) y: 11 lines of code src/key-value-render/HackBuilderKeyLambdaRenderer.hack x: 2 commits (all time) y: 16 lines of code src/key-value-render/HackBuilderShapeRenderer.hack x: 5 commits (all time) y: 46 lines of code src/CodegenMethodish.hack x: 2 commits (all time) y: 64 lines of code src/CodegenClassWithInterfaces.hack x: 2 commits (all time) y: 50 lines of code src/CodegenConstantish.hack x: 1 commits (all time) y: 30 lines of code src/CodegenConstructor.hack x: 1 commits (all time) y: 6 lines of code src/CodegenFunction.hack x: 1 commits (all time) y: 3 lines of code src/CodegenGeneratedFrom.hack x: 1 commits (all time) y: 12 lines of code src/CodegenImplementsInterface.hack x: 1 commits (all time) y: 35 lines of code src/CodegenShape.hack x: 1 commits (all time) y: 46 lines of code src/CodegenWithVisibility.hack x: 1 commits (all time) y: 25 lines of code src/HackBuilderRenderer.hack x: 1 commits (all time) y: 11 lines of code src/HackCodegenConfig.hack x: 1 commits (all time) y: 33 lines of code src/ICodeBuilderRenderer.hack x: 1 commits (all time) y: 5 lines of code src/IHackCodegenConfig.hack x: 1 commits (all time) y: 9 lines of code src/_Private/StrBuffer.hack x: 1 commits (all time) y: 13 lines of code src/key-value-render/HackBuilderKeys.hack x: 1 commits (all time) y: 17 lines of code src/key-value-render/HackBuilderNativeValueCollectionRenderer.hack x: 1 commits (all time) y: 23 lines of code
468.0
lines of code
  min: 3.0
  average: 59.28
  25th percentile: 12.5
  median: 30.0
  75th percentile: 59.0
  max: 468.0
0 14.0
commits (all time)
min: 1.0 | average: 2.58 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.5 | max: 14.0

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

src/CodegenFile.hack x: 5 contributors (all time) y: 468 lines of code src/CodegenFunctionish.hack x: 4 contributors (all time) y: 246 lines of code src/key-value-render/HackBuilderRegexRenderer.hack x: 2 contributors (all time) y: 20 lines of code src/key-value-render/HackBuilderValues.hack x: 2 contributors (all time) y: 135 lines of code src/CodegenClassConstant.hack x: 2 contributors (all time) y: 52 lines of code src/CodegenConstant.hack x: 2 contributors (all time) y: 41 lines of code src/CodegenProperty.hack x: 2 contributors (all time) y: 61 lines of code src/CodegenTypeConstant.hack x: 2 contributors (all time) y: 55 lines of code src/CodegenXHPAttribute.hack x: 1 contributors (all time) y: 72 lines of code src/PartiallyGeneratedSignedSource.hack x: 3 contributors (all time) y: 20 lines of code src/SignedSource.hack x: 2 contributors (all time) y: 14 lines of code src/CodegenClass.hack x: 3 contributors (all time) y: 107 lines of code src/CodegenClassish.hack x: 2 contributors (all time) y: 281 lines of code src/CodegenFactoryTrait.hack x: 3 contributors (all time) y: 190 lines of code src/CodegenTrait.hack x: 2 contributors (all time) y: 45 lines of code src/ICodegenFactory.hack x: 2 contributors (all time) y: 87 lines of code src/XHPAttributeDecorator.hack x: 1 contributors (all time) y: 15 lines of code src/SignedSourceBase.hack x: 2 contributors (all time) y: 67 lines of code src/key-value-render/HackBuilderCodeRenderer.hack x: 2 contributors (all time) y: 15 lines of code src/key-value-render/HackBuilderCodegenRenderer.hack x: 2 contributors (all time) y: 18 lines of code src/BaseCodeBuilder.hack x: 3 contributors (all time) y: 244 lines of code src/CodegenEnum.hack x: 2 contributors (all time) y: 91 lines of code src/CodegenShapeMember.hack x: 2 contributors (all time) y: 29 lines of code src/CodegenType.hack x: 2 contributors (all time) y: 47 lines of code src/CodegenUsesTrait.hack x: 2 contributors (all time) y: 33 lines of code src/HackBuilder.hack x: 3 contributors (all time) y: 379 lines of code src/HackfmtFormatter.hack x: 3 contributors (all time) y: 53 lines of code src/PartiallyGeneratedCode.hack x: 3 contributors (all time) y: 131 lines of code src/_Private/Filesystem.hack x: 3 contributors (all time) y: 57 lines of code src/_Private/Vec.hack x: 2 contributors (all time) y: 11 lines of code src/_Private/strip_hh_prefix.hack x: 2 contributors (all time) y: 83 lines of code src/key-value-render/HackBuilderClassnameRenderer.hack x: 3 contributors (all time) y: 14 lines of code src/CodegenMethodish.hack x: 1 contributors (all time) y: 64 lines of code src/CodegenClassWithInterfaces.hack x: 1 contributors (all time) y: 50 lines of code src/CodegenConstantish.hack x: 1 contributors (all time) y: 30 lines of code src/CodegenConstructor.hack x: 1 contributors (all time) y: 6 lines of code src/CodegenFunction.hack x: 1 contributors (all time) y: 3 lines of code src/CodegenGeneratedFrom.hack x: 1 contributors (all time) y: 12 lines of code src/CodegenImplementsInterface.hack x: 1 contributors (all time) y: 35 lines of code src/CodegenShape.hack x: 1 contributors (all time) y: 46 lines of code src/CodegenWithVisibility.hack x: 1 contributors (all time) y: 25 lines of code src/HackBuilderRenderer.hack x: 1 contributors (all time) y: 11 lines of code src/HackCodegenConfig.hack x: 1 contributors (all time) y: 33 lines of code src/ICodeBuilderRenderer.hack x: 1 contributors (all time) y: 5 lines of code src/IHackCodegenConfig.hack x: 1 contributors (all time) y: 9 lines of code src/_Private/StrBuffer.hack x: 1 contributors (all time) y: 13 lines of code src/key-value-render/HackBuilderKeys.hack x: 1 contributors (all time) y: 17 lines of code src/key-value-render/HackBuilderNativeValueCollectionRenderer.hack x: 1 contributors (all time) y: 23 lines of code
468.0
lines of code
  min: 3.0
  average: 59.28
  25th percentile: 12.5
  median: 30.0
  75th percentile: 59.0
  max: 468.0
0 5.0
contributors (all time)
min: 1.0 | average: 1.8 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 2.0 | max: 5.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".