openai / openai-go
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 46 files with 6,944 lines of code.
    • 0 very long files (0 lines of code)
    • 3 long files (2,437 lines of code)
    • 7 medium size files (2,243 lines of code)
    • 7 small files (1,057 lines of code)
    • 29 very small files (1,207 lines of code)
0% | 35% | 32% | 15% | 17%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
go0% | 35% | 32% | 15% | 17%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
internal0% | 43% | 32% | 11% | 13%
auth0% | 0% | 81% | 0% | 18%
ROOT0% | 0% | 0% | 87% | 12%
azure0% | 0% | 0% | 100% | 0%
packages0% | 0% | 0% | 0% | 100%
Longest Files (Top 46)
File# lines# units
decode.go
in internal/encoding/json
958 30
encode.go
in internal/encoding/json
932 49
decoder.go
in internal/apijson
547 19
scanner.go
in internal/encoding/json
437 43
encoder.go
in internal/apiform
393 14
encoder.go
in internal/apiquery
346 11
stream.go
in internal/encoding/json
336 21
encoder.go
in internal/apijson
313 14
210 9
208 9
tables.go
in internal/encoding/json
198 -
union.go
in internal/apijson
171 4
azure.go
in azure
170 9
154 8
indent.go
in internal/encoding/json
141 7
enum.go
in internal/apijson
115 5
polling.go
in root
108 5
port.go
in internal/apijson
97 1
param.go
in packages/param
93 11
option.go
in packages/param
85 11
encoder.go
in packages/param
84 5
tag.go
in internal/apiform
78 4
tag.go
in internal/apijson
74 4
subfield.go
in internal/apijson
59 4
time.go
in internal/encoding/json
48 4
query.go
in internal/apiquery
45 2
shims.go
in internal/encoding/json/shims
42 4
40 1
registry.go
in internal/apijson
40 3
null.go
in internal/encoding/json/sentinel
39 3
tag.go
in internal/apiquery
39 2
field.go
in root
37 15
union.go
in internal/paramutil
37 1
fold.go
in internal/encoding/json
34 3
respjson.go
in packages/respjson
30 4
types.go
in auth
30 -
error.go
in auth
27 3
testutil.go
in internal/testutil
25 1
field.go
in internal/paramutil
25 3
tags.go
in internal/encoding/json
23 2
richparam.go
in internal/apiform
18 1
richparam.go
in internal/apiquery
17 1
field.go
in internal/apijson
16 4
opt.go
in internal/encoding/json
13 2
null.go
in packages/param
8 2
form.go
in internal/apiform
4 -
Files With Most Units (Top 43)
File# lines# units
encode.go
in internal/encoding/json
932 49
scanner.go
in internal/encoding/json
437 43
decode.go
in internal/encoding/json
958 30
stream.go
in internal/encoding/json
336 21
decoder.go
in internal/apijson
547 19
field.go
in root
37 15
encoder.go
in internal/apiform
393 14
encoder.go
in internal/apijson
313 14
param.go
in packages/param
93 11
option.go
in packages/param
85 11
encoder.go
in internal/apiquery
346 11
210 9
208 9
azure.go
in azure
170 9
154 8
indent.go
in internal/encoding/json
141 7
polling.go
in root
108 5
encoder.go
in packages/param
84 5
enum.go
in internal/apijson
115 5
respjson.go
in packages/respjson
30 4
shims.go
in internal/encoding/json/shims
42 4
time.go
in internal/encoding/json
48 4
tag.go
in internal/apiform
78 4
union.go
in internal/apijson
171 4
field.go
in internal/apijson
16 4
subfield.go
in internal/apijson
59 4
tag.go
in internal/apijson
74 4
error.go
in auth
27 3
null.go
in internal/encoding/json/sentinel
39 3
fold.go
in internal/encoding/json
34 3
registry.go
in internal/apijson
40 3
field.go
in internal/paramutil
25 3
null.go
in packages/param
8 2
opt.go
in internal/encoding/json
13 2
tags.go
in internal/encoding/json
23 2
query.go
in internal/apiquery
45 2
tag.go
in internal/apiquery
39 2
40 1
richparam.go
in internal/apiform
18 1
richparam.go
in internal/apiquery
17 1
testutil.go
in internal/testutil
25 1
port.go
in internal/apijson
97 1
union.go
in internal/paramutil
37 1
Files With Long Lines (Top 11)

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

File# lines# units# long lines
decode.go
in internal/encoding/json
958 30 16
azure.go
in azure
170 9 5
polling.go
in root
108 5 3
210 9 2
154 8 2
encoder.go
in internal/apiform
393 14 2
encoder.go
in internal/apijson
313 14 2
decoder.go
in internal/apijson
547 19 2
encoder.go
in packages/param
84 5 1
encoder.go
in internal/apiquery
346 11 1
testutil.go
in internal/testutil
25 1 1
Correlations

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

azure/azure.go x: 13 commits (all time) y: 170 lines of code internal/encoding/json/encode.go x: 4 commits (all time) y: 932 lines of code internal/encoding/json/indent.go x: 1 commits (all time) y: 141 lines of code internal/encoding/json/opt.go x: 1 commits (all time) y: 13 lines of code internal/encoding/json/stream.go x: 1 commits (all time) y: 336 lines of code internal/encoding/json/time.go x: 3 commits (all time) y: 48 lines of code packages/param/encoder.go x: 3 commits (all time) y: 84 lines of code auth/workloadidentity.go x: 5 commits (all time) y: 210 lines of code internal/apiform/encoder.go x: 7 commits (all time) y: 393 lines of code internal/apijson/encoder.go x: 4 commits (all time) y: 313 lines of code internal/apiquery/encoder.go x: 5 commits (all time) y: 346 lines of code internal/apijson/decoder.go x: 8 commits (all time) y: 547 lines of code auth/error.go x: 1 commits (all time) y: 27 lines of code auth/middleware.go x: 1 commits (all time) y: 40 lines of code auth/subjecttokenprovider.go x: 1 commits (all time) y: 208 lines of code internal/apiform/tag.go x: 2 commits (all time) y: 78 lines of code internal/apijson/enum.go x: 2 commits (all time) y: 115 lines of code internal/apijson/tag.go x: 2 commits (all time) y: 74 lines of code internal/apiquery/tag.go x: 2 commits (all time) y: 39 lines of code polling.go x: 7 commits (all time) y: 108 lines of code streamaccumulator.go x: 13 commits (all time) y: 154 lines of code field.go x: 2 commits (all time) y: 37 lines of code internal/apiform/richparam.go x: 2 commits (all time) y: 18 lines of code internal/apijson/subfield.go x: 2 commits (all time) y: 59 lines of code internal/apijson/union.go x: 2 commits (all time) y: 171 lines of code internal/encoding/json/decode.go x: 1 commits (all time) y: 958 lines of code internal/paramutil/field.go x: 2 commits (all time) y: 25 lines of code packages/param/null.go x: 1 commits (all time) y: 8 lines of code packages/param/option.go x: 4 commits (all time) y: 85 lines of code packages/param/param.go x: 2 commits (all time) y: 93 lines of code internal/apijson/registry.go x: 3 commits (all time) y: 40 lines of code internal/apiquery/query.go x: 2 commits (all time) y: 45 lines of code internal/apiform/form.go x: 1 commits (all time) y: 4 lines of code internal/apijson/field.go x: 1 commits (all time) y: 16 lines of code internal/apijson/port.go x: 1 commits (all time) y: 97 lines of code internal/testutil/testutil.go x: 1 commits (all time) y: 25 lines of code
958.0
lines of code
  min: 4.0
  average: 151.46
  25th percentile: 30.0
  median: 74.0
  75th percentile: 170.5
  max: 958.0
0 13.0
commits (all time)
min: 1.0 | average: 2.93 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.5 | max: 13.0

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

azure/azure.go x: 12 contributors (all time) y: 170 lines of code internal/encoding/json/encode.go x: 4 contributors (all time) y: 932 lines of code internal/encoding/json/indent.go x: 1 contributors (all time) y: 141 lines of code internal/encoding/json/opt.go x: 1 contributors (all time) y: 13 lines of code internal/encoding/json/stream.go x: 1 contributors (all time) y: 336 lines of code internal/encoding/json/time.go x: 3 contributors (all time) y: 48 lines of code packages/param/encoder.go x: 3 contributors (all time) y: 84 lines of code auth/workloadidentity.go x: 4 contributors (all time) y: 210 lines of code internal/apiform/encoder.go x: 5 contributors (all time) y: 393 lines of code internal/apijson/encoder.go x: 4 contributors (all time) y: 313 lines of code internal/apiquery/encoder.go x: 4 contributors (all time) y: 346 lines of code internal/apijson/decoder.go x: 6 contributors (all time) y: 547 lines of code auth/error.go x: 1 contributors (all time) y: 27 lines of code auth/middleware.go x: 1 contributors (all time) y: 40 lines of code auth/subjecttokenprovider.go x: 1 contributors (all time) y: 208 lines of code internal/apiform/tag.go x: 2 contributors (all time) y: 78 lines of code internal/apijson/enum.go x: 2 contributors (all time) y: 115 lines of code internal/apijson/tag.go x: 2 contributors (all time) y: 74 lines of code internal/apiquery/tag.go x: 2 contributors (all time) y: 39 lines of code polling.go x: 5 contributors (all time) y: 108 lines of code streamaccumulator.go x: 7 contributors (all time) y: 154 lines of code field.go x: 2 contributors (all time) y: 37 lines of code internal/apiform/richparam.go x: 2 contributors (all time) y: 18 lines of code internal/apijson/subfield.go x: 2 contributors (all time) y: 59 lines of code internal/apijson/union.go x: 2 contributors (all time) y: 171 lines of code internal/encoding/json/decode.go x: 1 contributors (all time) y: 958 lines of code internal/paramutil/field.go x: 2 contributors (all time) y: 25 lines of code packages/param/null.go x: 1 contributors (all time) y: 8 lines of code packages/param/param.go x: 2 contributors (all time) y: 93 lines of code internal/apijson/registry.go x: 3 contributors (all time) y: 40 lines of code internal/apiquery/query.go x: 2 contributors (all time) y: 45 lines of code internal/apiform/form.go x: 1 contributors (all time) y: 4 lines of code internal/apijson/field.go x: 1 contributors (all time) y: 16 lines of code internal/apijson/port.go x: 1 contributors (all time) y: 97 lines of code internal/testutil/testutil.go x: 1 contributors (all time) y: 25 lines of code
958.0
lines of code
  min: 4.0
  average: 151.46
  25th percentile: 30.0
  median: 74.0
  75th percentile: 170.5
  max: 958.0
0 12.0
contributors (all time)
min: 1.0 | average: 2.54 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 12.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): 12 points

azure/azure.go x: 3 commits (90d) y: 170 lines of code internal/encoding/json/encode.go x: 1 commits (90d) y: 932 lines of code internal/encoding/json/indent.go x: 1 commits (90d) y: 141 lines of code internal/encoding/json/opt.go x: 1 commits (90d) y: 13 lines of code internal/encoding/json/stream.go x: 1 commits (90d) y: 336 lines of code internal/encoding/json/time.go x: 1 commits (90d) y: 48 lines of code packages/param/encoder.go x: 1 commits (90d) y: 84 lines of code auth/workloadidentity.go x: 5 commits (90d) y: 210 lines of code auth/error.go x: 1 commits (90d) y: 27 lines of code auth/middleware.go x: 1 commits (90d) y: 40 lines of code auth/subjecttokenprovider.go x: 1 commits (90d) y: 208 lines of code auth/types.go x: 1 commits (90d) y: 30 lines of code
932.0
lines of code
  min: 13.0
  average: 186.58
  25th percentile: 32.5
  median: 112.5
  75th percentile: 209.5
  max: 932.0
0 5.0
commits (90d)
min: 1.0 | average: 1.5 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 5.0

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

azure/azure.go x: 3 contributors (90d) y: 170 lines of code internal/encoding/json/encode.go x: 1 contributors (90d) y: 932 lines of code internal/encoding/json/indent.go x: 1 contributors (90d) y: 141 lines of code internal/encoding/json/opt.go x: 1 contributors (90d) y: 13 lines of code internal/encoding/json/stream.go x: 1 contributors (90d) y: 336 lines of code internal/encoding/json/time.go x: 1 contributors (90d) y: 48 lines of code packages/param/encoder.go x: 1 contributors (90d) y: 84 lines of code auth/workloadidentity.go x: 4 contributors (90d) y: 210 lines of code auth/error.go x: 1 contributors (90d) y: 27 lines of code auth/middleware.go x: 1 contributors (90d) y: 40 lines of code auth/subjecttokenprovider.go x: 1 contributors (90d) y: 208 lines of code auth/types.go x: 1 contributors (90d) y: 30 lines of code
932.0
lines of code
  min: 13.0
  average: 186.58
  25th percentile: 32.5
  median: 112.5
  75th percentile: 209.5
  max: 932.0
0 4.0
contributors (90d)
min: 1.0 | average: 1.42 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 4.0