golang / pkgsite
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 276 files with 44,765 lines of code.
    • 2 very long files (9,417 lines of code)
    • 8 long files (5,121 lines of code)
    • 44 medium size files (14,038 lines of codeclsfd_ftr_w_mp_ins)
    • 66 small files (9,457 lines of code)
    • 156 very small files (6,732 lines of code)
21% | 11% | 31% | 21% | 15%
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
go24% | 13% | 30% | 19% | 11%
css0% | 0% | 32% | 36% | 30%
ts0% | 0% | 34% | 16% | 48%
bash0% | 0% | 100% | 0% | 0%
yaml0% | 0% | 0% | 38% | 61%
js0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
internal/fetch80% | 0% | 10% | 4% | 4%
internal/godoc41% | 13% | 33% | 5% | 6%
internal/postgres0% | 35% | 28% | 24% | 10%
internal/source0% | 83% | 0% | 16% | 0%
internal/worker0% | 43% | 42% | 0% | 14%
internal/frontend0% | 13% | 38% | 33% | 15%
static/frontend0% | 0% | 34% | 33% | 31%
internal/symbol0% | 0% | 80% | 0% | 19%
static/shared0% | 0% | 33% | 28% | 38%
internal/config0% | 0% | 88% | 0% | 11%
internal/licenses0% | 0% | 72% | 27% | <1%
internal/database0% | 0% | 45% | 38% | 16%
internal/stdlib0% | 0% | 73% | 26% | 0%
internal/testing0% | 0% | 45% | 54% | 0%
ROOT0% | 0% | 95% | 0% | 4%
internal/fetchdatasource0% | 0% | 90% | 0% | 9%
internal/queue0% | 0% | 100% | 0% | 0%
internal/proxy0% | 0% | 39% | 25% | 35%
devtools/cmd0% | 0% | 32% | 42% | 24%
internal/middleware0% | 0% | 24% | 24% | 51%
internal0% | 0% | 0% | 58% | 41%
internal/dcensus0% | 0% | 0% | 78% | 21%
cmd/worker0% | 0% | 0% | 100% | 0%
internal/log0% | 0% | 0% | 100% | 0%
cmd/frontend0% | 0% | 0% | 70% | 29%
cmd/pkgsite0% | 0% | 0% | 100% | 0%
internal/memory0% | 0% | 0% | 100% | 0%
internal/derrors0% | 0% | 0% | 100% | 0%
internal/version0% | 0% | 0% | 100% | 0%
devtools/docker0% | 0% | 0% | 100% | 0%
cmd/internal0% | 0% | 0% | 100% | 0%
deploy0% | 0% | 0% | 0% | 100%
static/worker0% | 0% | 0% | 0% | 100%
internal/static0% | 0% | 0% | 0% | 100%
internal/auth0% | 0% | 0% | 0% | 100%
internal/index0% | 0% | 0% | 0% | 100%
internal/poller0% | 0% | 0% | 0% | 100%
internal/experiment0% | 0% | 0% | 0% | 100%
internal/cookie0% | 0% | 0% | 0% | 100%
internal/secrets0% | 0% | 0% | 0% | 100%
static0% | 0% | 0% | 0% | 100%
internal/xcontext0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
zip_signatures.gen.go
in internal/fetch
5689 -
encode_ast.gen.go
in internal/godoc
3728 210
search.go
in internal/postgres
797 22
insert_module.go
in internal/postgres
689 20
source.go
in internal/source
661 29
server.go
in internal/worker
652 36
reader.go
in internal/godoc/internal/doc
622 35
server.go
in internal/frontend
615 28
linkify.go
in internal/godoc/dochtml/internal/render
566 20
unit.go
in internal/postgres
519 12
example.go
in internal/godoc/internal/doc
500 13
version.go
in internal/postgres
494 18
generate.go
in internal/godoc/codec
476 25
versionstate.go
in internal/postgres
467 18
config.go
in internal/config
442 26
licenses.go
in internal/licenses
438 21
database.go
in internal/database
437 34
fetch.go
in internal/worker
434 11
codec.go
in internal/godoc/codec
426 51
fetch.go
in internal/frontend
407 11
tree.ts
in static/shared/outline
402 15
stdlib.go
in internal/stdlib
402 23
goapi.go
in internal/symbol
401 18
search.go
in internal/frontend
394 15
symbol.go
in internal/postgres
380 6
_readme_gen.css
in static/frontend/unit/main
374 -
comment.go
in internal/godoc/internal/doc
367 14
sample.go
in internal/testing/sample
353 21
dochtml.go
in internal/godoc/dochtml
346 16
_doc.css
in static/frontend/unit/main
324 -
unit.css
in static/frontend/unit
312 -
symbolsearch.go
in internal/postgres
279 9
versions.go
in internal/frontend
264 12
goldmark.go
in internal/frontend
263 11
all.bash
in root
261 -
generate.go
in internal/symbol
260 9
getters.go
in internal/fetch
257 25
fetchdatasource.go
in internal/fetchdatasource
255 15
load.go
in internal/fetch
251 7
header.css
in static/shared/header
247 -
idents.go
in internal/godoc/dochtml/internal/render
242 8
symbol.go
in internal/frontend
238 10
render.go
in internal/godoc/dochtml/internal/render
237 14
exports.go
in internal/godoc/internal/doc
235 14
404.go
in internal/frontend
234 5
queue.go
in internal/queue
230 8
client.go
in internal/proxy
229 13
main.go
in devtools/cmd/seeddb
223 8
symbol.go
in internal/godoc/dochtml
221 10
apigodoc.go
in internal/symbol
211 4
Files With Most Units (Top 20)
File# lines# units
encode_ast.gen.go
in internal/godoc
3728 210
codec.go
in internal/godoc/codec
426 51
server.go
in internal/worker
652 36
reader.go
in internal/godoc/internal/doc
622 35
database.go
in internal/database
437 34
source.go
in internal/source
661 29
server.go
in internal/frontend
615 28
config.go
in internal/config
442 26
getters.go
in internal/fetch
257 25
generate.go
in internal/godoc/codec
476 25
stdlib.go
in internal/stdlib
402 23
log.go
in internal/log
178 23
search.go
in internal/postgres
797 22
licenses.go
in internal/licenses
438 21
sample.go
in internal/testing/sample
353 21
insert_module.go
in internal/postgres
689 20
linkify.go
in internal/godoc/dochtml/internal/render
566 20
versionstate.go
in internal/postgres
467 18
version.go
in internal/postgres
494 18
goapi.go
in internal/symbol
401 18
Files With Long Lines (Top 20)

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

File# lines# units# long lines
versionstate.go
in internal/postgres
467 18 11
fetch.go
in internal/frontend
407 11 10
search.go
in internal/postgres
797 22 10
zip_signatures.gen.go
in internal/fetch
5689 - 9
insert_module.go
in internal/postgres
689 20 9
version.go
in internal/postgres
494 18 9
unit.go
in internal/postgres
519 12 9
fetchdatasource.go
in internal/fetchdatasource
255 15 7
database.go
in internal/database
437 34 7
imports.go
in internal/frontend
101 2 5
main.go
in cmd/frontend
172 1 4
testhelper.go
in internal/testing/testhelper
127 8 4
fetch.go
in internal/fetch
203 8 4
fetch.go
in internal/worker
434 11 4
requeue.go
in internal/postgres
199 6 4
goldmark.go
in internal/frontend
263 11 3
server.go
in internal/frontend
615 28 3
server.go
in internal/worker
652 36 3
symbol.go
in internal/postgres
380 6 3
version_map.go
in internal/postgres
122 4 3