microsoft / AMBROSIA
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 270 files with 44,341 lines of code.
    • 7 very long files (13,586 lines of code)
    • 18 long files (12,745 lines of code)
    • 31 medium size files (10,401 lines of codeclsfd_ftr_w_mp_ins)
    • 21 small files (3,214 lines of code)
    • 193 very small files (4,395 lines of code)
30% | 28% | 23% | 7% | 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
cs30% | 24% | 28% | 7% | 9%
ts36% | 38% | 13% | 7% | 4%
c0% | 46% | 35% | 13% | 4%
ps10% | 0% | 33% | 0% | 66%
xaml0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Clients34% | 35% | 18% | 6% | 4%
AmbrosiaLib85% | 0% | 11% | 2% | <1%
AmbrosiaTest26% | 42% | 20% | 2% | 8%
SharedAmbrosiaTools49% | 43% | 0% | 6% | 0%
GenericLogPicker0% | 77% | 22% | 0% | 0%
InternalImmortals0% | 0% | 49% | 19% | 30%
UWPLogPicker0% | 0% | 96% | 0% | 3%
AzureBlobsLogPicker0% | 0% | 100% | 0% | 0%
Ambrosia0% | 0% | 97% | 0% | 3%
ImmortalCoordinator0% | 0% | 0% | 95% | 4%
ICGUI0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
DustBin0% | 0% | 0% | 0% | 100%
DevTools0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Meta.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
3621 98
Program.cs
in AmbrosiaLib/Ambrosia
3450 125
ICProcess.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
1516 73
EndToEndStressIntegration_Test.cs
in AmbrosiaTest/AmbrosiaTest
1378 20
Utilities.cs
in AmbrosiaTest/AmbrosiaTest
1344 30
Immortal.cs
in Clients/CSharp/AmbrosiaLibCS
1204 47
options.cs
in SharedAmbrosiaTools
1073 77
ActiveActive_Test.cs
in AmbrosiaTest/AmbrosiaTest
985 9
SharedAmbrosiaTools.cs
in SharedAmbrosiaTools
931 63
GenericLogPicker.cs
in GenericLogPicker
851 65
InProc_Pipe_Test.cs
in AmbrosiaTest/AmbrosiaTest
844 15
Storage.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
841 32
JS_Tests.cs
in AmbrosiaTest/AmbrosiaTest
817 23
Configuration.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
788 7
UnitTests.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
755 16
Messages.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
738 19
JS_Utilities.cs
in AmbrosiaTest/AmbrosiaTest
655 11
DataFormat.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
626 17
ambrosia_client.c
in Clients/C/src
613 16
JS_ActiveActive_Tests.cs
in AmbrosiaTest/AmbrosiaTest
593 8
Utils.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src/Utils
593 37
Streams.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
562 12
PTI.ts
in Clients/AmbrosiaJS/PTI-Node/App/src
528 22
TaskCheckpoint.cs
in Clients/CSharp/AmbrosiaLibCS
524 25
InProc_TCP_Test.cs
in AmbrosiaTest/AmbrosiaTest
501 10
Proxy_IXamarinSampleComm.cs
in InternalImmortals/XamarinSample/GeneratedSourceFiles/XamarinSampleCommAPIGened/latest
486 1
xxHash.cs
in AmbrosiaLib/Ambrosia
481 7
Program.cs
in InternalImmortals/PerformanceTestInterruptible/Server
471 24
Serialization.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src/Utils
468 14
ICTest.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
464 14
service.c
in InternalImmortals/NativeService
461 13
Logging.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src/Utils
447 27
Proxy_ICommandShellImmortal.cs
in InternalImmortals/XamarinCommandShell/GeneratedSourceFiles/ICommandShellImmortalGenerated/latest
410 1
AMB_UnitTest.cs
in AmbrosiaTest/AmbrosiaTest
408 7
Dispatcher_IXamarinSampleComm.cs
in InternalImmortals/XamarinSample/GeneratedSourceFiles/XamarinSampleCommAPIGened/latest
385 3
JS_CodeGen_Neg_Tests.cs
in AmbrosiaTest/AmbrosiaTest
373 37
JS_BasicUnitTests.cs
in AmbrosiaTest/AmbrosiaTest
368 13
UWPLogPicker.cs
in UWPLogPicker
366 31
AzureBlobsLogPicker.cs
in AzureBlobsLogPicker
360 30
JS_Blob_Tests.cs
in AmbrosiaTest/AmbrosiaTest
350 10
Program.cs
in InternalImmortals/PerformanceTestInterruptible/Client
320 13
Main.ts
in Clients/AmbrosiaJS/PTI-Node/App/src
314 3
Program.cs
in Clients/CSharp/AmbrosiaCS
297 5
Program.cs
in Ambrosia/Ambrosia
291 8
JS_HostingMode_Tests.cs
in AmbrosiaTest/AmbrosiaTest
283 7
JS_Restart_Tests.cs
in AmbrosiaTest/AmbrosiaTest
279 9
Utilities.cs
in Clients/CSharp/AmbrosiaCS
260 20
EventBuffer.cs
in Clients/CSharp/AmbrosiaLibCS
248 10
Native32.cs
in GenericLogPicker
246 9
AmbrosiaFactory.cs
in Clients/CSharp/AmbrosiaLibCS
244 11
Files With Most Units (Top 20)
File# lines# units
Program.cs
in AmbrosiaLib/Ambrosia
3450 125
Meta.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
3621 98
options.cs
in SharedAmbrosiaTools
1073 77
ICProcess.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
1516 73
GenericLogPicker.cs
in GenericLogPicker
851 65
SharedAmbrosiaTools.cs
in SharedAmbrosiaTools
931 63
Immortal.cs
in Clients/CSharp/AmbrosiaLibCS
1204 47
JS_CodeGen_Neg_Tests.cs
in AmbrosiaTest/AmbrosiaTest
373 37
Utils.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src/Utils
593 37
Storage.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
841 32
UWPLogPicker.cs
in UWPLogPicker
366 31
Utilities.cs
in AmbrosiaTest/AmbrosiaTest
1344 30
AzureBlobsLogPicker.cs
in AzureBlobsLogPicker
360 30
ConsumerInterface.g.ts
in Clients/AmbrosiaJS/PTI-Node/App/src
196 28
Logging.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src/Utils
447 27
TaskCheckpoint.cs
in Clients/CSharp/AmbrosiaLibCS
524 25
Program.cs
in InternalImmortals/PerformanceTestInterruptible/Server
471 24
JS_Tests.cs
in AmbrosiaTest/AmbrosiaTest
817 23
PTI.ts
in Clients/AmbrosiaJS/PTI-Node/App/src
528 22
EndToEndStressIntegration_Test.cs
in AmbrosiaTest/AmbrosiaTest
1378 20
Files With Long Lines (Top 20)

There are 96 files with lines longer than 120 characters. In total, there are 2966 long lines.

File# lines# units# long lines
Meta.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
3621 98 350
JS_Tests.cs
in AmbrosiaTest/AmbrosiaTest
817 23 243
JS_ActiveActive_Tests.cs
in AmbrosiaTest/AmbrosiaTest
593 8 177
EndToEndStressIntegration_Test.cs
in AmbrosiaTest/AmbrosiaTest
1378 20 127
ICProcess.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
1516 73 127
UnitTests.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
755 16 124
JS_BasicUnitTests.cs
in AmbrosiaTest/AmbrosiaTest
368 13 112
Program.cs
in AmbrosiaLib/Ambrosia
3450 125 104
JS_Blob_Tests.cs
in AmbrosiaTest/AmbrosiaTest
350 10 100
ActiveActive_Test.cs
in AmbrosiaTest/AmbrosiaTest
985 9 90
JS_Restart_Tests.cs
in AmbrosiaTest/AmbrosiaTest
279 9 81
Configuration.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
788 7 80
InProc_Pipe_Test.cs
in AmbrosiaTest/AmbrosiaTest
844 15 76
Storage.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
841 32 75
Utilities.cs
in AmbrosiaTest/AmbrosiaTest
1344 30 73
JS_Utilities.cs
in AmbrosiaTest/AmbrosiaTest
655 11 71
Messages.ts
in Clients/AmbrosiaJS/Ambrosia-Node/src
738 19 59
Main.ts
in Clients/AmbrosiaJS/PTI-Node/App/src
314 3 51
Immortal.cs
in Clients/CSharp/AmbrosiaLibCS
1204 47 51
JS_HostingMode_Tests.cs
in AmbrosiaTest/AmbrosiaTest
283 7 41