golang / mobile
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 186 files with 35,630 lines of code.
    • 5 very long files (12,047 lines of code)
    • 13 long files (8,948 lines of code)
    • 20 medium size files (6,319 lines of codeclsfd_ftr_w_mp_ins)
    • 33 small files (4,996 lines of code)
    • 115 very small files (3,320 lines of code)
33% | 25% | 17% | 14% | 9%
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
go38% | 27% | 14% | 11% | 8%
c0% | 59% | 0% | 32% | 7%
java0% | 0% | 70% | 19% | 10%
m0% | 0% | 27% | 56% | 15%
ivy0% | 0% | 100% | 0% | 0%
h0% | 0% | 0% | 59% | 40%
html0% | 0% | 0% | 0% | 100%
s0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
gl58% | 29% | 0% | 8% | 2%
exp60% | 0% | 7% | 15% | 15%
bind37% | 27% | 21% | 9% | 4%
internal0% | 77% | 10% | 7% | 4%
app0% | 28% | 16% | 38% | 15%
cmd0% | 12% | 62% | 17% | 7%
example0% | 0% | 46% | 25% | 28%
event0% | 0% | 0% | 46% | 53%
asset0% | 0% | 0% | 0% | 100%
geom0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
table.go
in exp/f32
4100 -
gldebug.go
in gl
3496 161
gl.go
in gl
1653 158
genjava.go
in bind
1538 50
genobjc.go
in bind
1260 41
java.go
in internal/importers/java
997 32
gendebug.go
in gl
928 12
genclasses.go
in bind
852 30
binres.go
in internal/binres
758 27
objc.go
in internal/importers/objc
745 23
genobjcw.go
in bind
689 29
android.go
in app
647 29
consts.go
in gl
619 -
table.go
in internal/binres
608 20
work.c
in gl
548 2
build_apple.go
in cmd/gomobile
527 4
work_windows.go
in gl
522 7
gengo.go
in bind
508 14
SeqTest.java
in bind/java
495 53
gen.go
in bind
474 21
env.go
in cmd/gomobile
397 19
SeqTest.m
in bind/objc
383 -
darwin_desktop.go
in app
373 18
gen.go
in cmd/gobind
365 9
bind_androidapp.go
in cmd/gomobile
346 6
build.go
in cmd/gomobile
345 15
init.go
in cmd/gomobile
325 11
build_androidapp.go
in cmd/gomobile
301 2
MainActivity.java
in example/ivy/android/app/src/main/java/org/golang/ivy
283 20
game.go
in example/flappy
273 18
Seq.java
in bind/java
270 21
bind.go
in cmd/gomobile
267 9
ivy
demo.ivy
in example/ivy/android/app/src/main/assets
263 -
al.go
in exp/audio/al
258 78
al_android.go
in exp/audio/al
255 40
bind_iosapp.go
in cmd/gomobile
230 2
node.go
in internal/binres
214 12
pool.go
in internal/binres
202 10
glimage.go
in exp/gl/glutil
199 7
work.h
in gl
196 -
fn.go
in gl
196 2
dll_windows.go
in gl
192 5
fps.go
in exp/app/debug
189 3
darwin_desktop.m
in app
183 3
key.go
in event/key
183 3
IvyController.m
in example/ivy/ios/ivy
180 -
main.go
in cmd/gomobile
167 6
writer.go
in cmd/gomobile
167 7
ast.go
in internal/importers
164 7
interface.go
in gl
158 -
Files With Most Units (Top 20)
File# lines# units
gldebug.go
in gl
3496 161
gl.go
in gl
1653 158
al.go
in exp/audio/al
258 78
SeqTest.java
in bind/java
495 53
genjava.go
in bind
1538 50
genobjc.go
in bind
1260 41
al_android.go
in exp/audio/al
255 40
al_notandroid.go
in exp/audio/al
138 38
java.go
in internal/importers/java
997 32
genclasses.go
in bind
852 30
android.go
in app
647 29
genobjcw.go
in bind
689 29
binres.go
in internal/binres
758 27
objc.go
in internal/importers/objc
745 23
gen.go
in bind
474 21
Seq.java
in bind/java
270 21
MainActivity.java
in example/ivy/android/app/src/main/java/org/golang/ivy
283 20
table.go
in internal/binres
608 20
env.go
in cmd/gomobile
397 19
types_prod.go
in gl
57 19
Files With Long Lines (Top 20)

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

File# lines# units# long lines
work.c
in gl
548 2 16
gldebug.go
in gl
3496 161 15
genjava.go
in bind
1538 50 14
work_windows.go
in gl
522 7 13
build_apple.go
in cmd/gomobile
527 4 8
genobjc.go
in bind
1260 41 8
code_string.go
in event/key
54 1 7
SeqTest.m
in bind/objc
383 - 4
gl.go
in gl
1653 158 4
bind.go
in cmd/gomobile
267 9 3
MainActivity.java
in example/ivy/android/app/src/main/java/org/golang/ivy
283 20 3
genobjcw.go
in bind
689 29 3
gengo.go
in bind
508 14 3
SeqTest.java
in bind/java
495 53 3
al_android.go
in exp/audio/al
255 40 3
darwin_desktop.m
in app
183 3 2
genclasses.go
in bind
852 30 2
main.go
in cmd/gobind
138 3 1
gen.go
in cmd/gobind
365 9 1
env.go
in cmd/gomobile
397 19 1