awslabs / aws-crt-nodejs
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 67 files with 8,617 lines of code.
    • 1 very long files (1,348 lines of code)
    • 3 long files (1,798 lines of code)
    • 11 medium size files (3,539 lines of codeclsfd_ftr_w_mp_ins)
    • 4 small files (657 lines of code)
    • 48 very small files (1,275 lines of code)
15% | 20% | 41% | 7% | 14%
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
c22% | 30% | 41% | 3% | 1%
ts0% | 0% | 50% | 15% | 34%
js0% | 0% | 0% | 72% | 27%
h0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
source21% | 29% | 39% | 2% | 6%
lib/browser0% | 0% | 62% | 0% | 37%
lib/native0% | 0% | 47% | 30% | 22%
scripts0% | 0% | 0% | 88% | 11%
lib/common0% | 0% | 0% | 0% | 100%
continuous-delivery0% | 0% | 0% | 0% | 100%
lib0% | 0% | 0% | 0% | 100%
codebuild0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
mqtt_client_connection.c
in source
1348 44
io.c
in source
662 19
auth.c
in source
583 17
module.c
in source
553 18
http_headers.c
in source
438 19
crypto.c
in source
424 14
http_connection.c
in source
372 11
class_binder.c
in source
364 11
http.ts
in lib/browser
354 25
http_stream.c
in source
313 12
http_connection_manager.c
in source
303 9
http.ts
in lib/native
262 18
logger.c
in source
239 8
mqtt.ts
in lib/native
236 21
mqtt.ts
in lib/browser
234 12
http_message.c
in source
180 11
io.ts
in lib/native
163 17
aws_iot.ts
in lib/native
163 21
build.js
in scripts
151 7
module.h
in source
96 -
aws_iot.ts
in lib/browser
90 17
crypto.ts
in lib/browser
82 9
ws.ts
in lib/browser
72 7
auth.ts
in lib/native
64 3
class_binder.h
in source
63 -
trie.ts
in lib/browser
59 5
crypto.ts
in lib/native
57 12
mqtt_client.c
in source
53 2
checksums.c
in source
47 3
event.ts
in lib/common
41 4
http.ts
in lib/common
39 -
binding.js
in lib/native
36 -
error.ts
in lib/native
35 4
io.ts
in lib/browser
34 4
mqtt.ts
in lib/common
29 -
pack.yml
in continuous-delivery
25 -
platform.ts
in lib/common
24 4
native_resource.ts
in lib/native
23 4
index.ts
in lib
22 -
io.h
in source
20 -
linux-integration-tests.yml
in codebuild
19 -
browser.ts
in lib
18 -
crypto.h
in source
18 -
io.ts
in lib/common
17 -
mqtt_client_connection.h
in source
13 -
auth.h
in source
13 -
http_connection.h
in source
13 -
http_connection_manager.h
in source
12 -
tsc.js
in scripts
11 1
build-binaries-linux-x64.yml
in continuous-delivery
11 -
Files With Most Units (Top 20)
File# lines# units
mqtt_client_connection.c
in source
1348 44
http.ts
in lib/browser
354 25
mqtt.ts
in lib/native
236 21
aws_iot.ts
in lib/native
163 21
io.c
in source
662 19
http_headers.c
in source
438 19
http.ts
in lib/native
262 18
module.c
in source
553 18
aws_iot.ts
in lib/browser
90 17
io.ts
in lib/native
163 17
auth.c
in source
583 17
crypto.c
in source
424 14
mqtt.ts
in lib/browser
234 12
crypto.ts
in lib/native
57 12
http_stream.c
in source
313 12
class_binder.c
in source
364 11
http_connection.c
in source
372 11
http_message.c
in source
180 11
crypto.ts
in lib/browser
82 9
http_connection_manager.c
in source
303 9
Files With Long Lines (Top 8)

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

File# lines# units# long lines
mqtt.ts
in lib/native
236 21 9
mqtt.ts
in lib/browser
234 12 3
ws.ts
in lib/browser
72 7 3
aws_iot.ts
in lib/native
163 21 3
io.ts
in lib/native
163 17 2
auth.ts
in lib/native
64 3 2
http.ts
in lib/browser
354 25 1
module.c
in source
553 18 1