bazelbuild / rules_dotnet
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 106 files with 36,800 lines of code.
    • 5 very long files (24,107 lines of code)
    • 6 long files (4,345 lines of code)
    • 9 medium size files (2,741 lines of codeclsfd_ftr_w_mp_ins)
    • 16 small files (2,234 lines of code)
    • 70 very small files (3,373 lines of code)
65% | 11% | 7% | 6% | 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
bzl77% | 12% | 3% | 2% | 3%
cs0% | 11% | 30% | 17% | 39%
c0% | 0% | 30% | 44% | 24%
xslt0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
dotnet/private/stdlib86% | 13% | 0% | 0% | 0%
tools/simpleresgen/mono0% | 32% | 22% | 17% | 27%
tools/nuget2bazel0% | 0% | 47% | 8% | 43%
dotnet/private/actions0% | 0% | 90% | 0% | 9%
dotnet/tools/common0% | 0% | 69% | 24% | 5%
dotnet/private/rules0% | 0% | 16% | 31% | 52%
dotnet/toolchain0% | 0% | 100% | 0% | 0%
dotnet/private0% | 0% | 0% | 72% | 27%
tools/nuget2bazel/rules0% | 0% | 0% | 44% | 55%
dotnet/tools/md50% | 0% | 0% | 91% | 8%
dotnet/tools/launcher_core_xunit0% | 0% | 0% | 100% | 0%
dotnet/tools/launcher_core_nunit30% | 0% | 0% | 100% | 0%
dotnet0% | 0% | 0% | 0% | 100%
dotnet/tools/symlink0% | 0% | 0% | 0% | 100%
tools/converttests0% | 0% | 0% | 0% | 100%
dotnet/tools/launcher_core0% | 0% | 0% | 0% | 100%
dotnet/platform0% | 0% | 0% | 0% | 100%
dotnet/tools/md5sum0% | 0% | 0% | 0% | 100%
tools/simpleresgen0% | 0% | 0% | 0% | 100%
dotnet/tools/copy0% | 0% | 0% | 0% | 100%
dotnet/tools/empty0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
6.0.101.bzl
in dotnet/private/stdlib
4940 -
5.0.201.bzl
in dotnet/private/stdlib
4828 -
5.0.404.bzl
in dotnet/private/stdlib
4828 -
3.1.407.bzl
in dotnet/private/stdlib
4782 -
3.1.100.bzl
in dotnet/private/stdlib
4729 -
3.1.407-runtime.bzl
in dotnet/private/stdlib
798 -
3.1.100-runtime.bzl
in dotnet/private/stdlib
798 -
5.0.404-runtime.bzl
in dotnet/private/stdlib
753 -
5.0.201-runtime.bzl
in dotnet/private/stdlib
752 -
6.0.101-runtime.bzl
in dotnet/private/stdlib
723 -
ResXResourceWriter.cs
in tools/simpleresgen/mono
521 30
WorkspaceParser.cs
in tools/nuget2bazel
393 14
manifest.c
in dotnet/tools/common
387 11
assembly_core.bzl
in dotnet/private/actions
370 -
ResXResourceReader.cs
in tools/simpleresgen/mono
358 23
SdkList.cs
in tools/nuget2bazel
291 -
WorkspaceEntry.cs
in tools/nuget2bazel
281 9
nuget.bzl
in dotnet/private/rules
236 -
toolchains.bzl
in dotnet/toolchain
214 -
resolve.bzl
in dotnet/private/actions
211 -
md5.c
in dotnet/tools/md5
182 3
ProjectBazelManipulator.cs
in tools/nuget2bazel
179 10
ResXDataNode.cs
in tools/simpleresgen/mono
166 10
core_toolchain.bzl
in dotnet/private
161 -
versions.bzl
in dotnet/private/rules
156 -
RuntimeCoreGenerator.cs
in tools/nuget2bazel/rules
152 4
SdkCore.cs
in tools/nuget2bazel/rules
148 5
nugets.bzl
in dotnet/private
141 -
context.bzl
in dotnet/private
137 -
copyfile.c
in dotnet/tools/common
137 4
main.c
in dotnet/tools/launcher_core_xunit
123 3
main.c
in dotnet/tools/launcher_core_nunit3
123 3
ResXFileRef.cs
in tools/simpleresgen/mono
119 8
test.bzl
in dotnet/private/rules/csharp
104 -
test.bzl
in dotnet/private/rules/fsharp
104 -
stdlib.bzl
in dotnet/private/rules
102 -
defs.bzl
in dotnet
99 -
SerializedFromResXHandler.cs
in tools/simpleresgen/mono
98 9
import.bzl
in dotnet/private/rules
97 -
main.c
in dotnet/tools/symlink
96 3
main.c
in dotnet/tools/launcher_core
91 2
Sdks.cs
in tools/nuget2bazel/rules
88 3
resx.bzl
in dotnet/private/rules
86 -
list.bzl
in dotnet/platform
81 -
TypeConverterFromResXHandler.cs
in tools/simpleresgen/mono
81 6
library.bzl
in dotnet/private/rules/csharp
80 -
library.bzl
in dotnet/private/rules/fsharp
79 -
runfiles.bzl
in dotnet/private/rules
77 -
StdlibCoreGenerator3.cs
in tools/nuget2bazel/rules
77 3
Logger.cs
in tools/nuget2bazel
77 11
Files With Most Units (Top 20)
File# lines# units
ResXResourceWriter.cs
in tools/simpleresgen/mono
521 30
ResXResourceReader.cs
in tools/simpleresgen/mono
358 23
WorkspaceParser.cs
in tools/nuget2bazel
393 14
manifest.c
in dotnet/tools/common
387 11
Logger.cs
in tools/nuget2bazel
77 11
ProjectBazelManipulator.cs
in tools/nuget2bazel
179 10
BazelSolutionManager.cs
in tools/nuget2bazel
76 10
ResXDataNode.cs
in tools/simpleresgen/mono
166 10
WorkspaceEntry.cs
in tools/nuget2bazel
281 9
SerializedFromResXHandler.cs
in tools/simpleresgen/mono
98 9
ResXFileRef.cs
in tools/simpleresgen/mono
119 8
AssemblyNamesTypeResolutionService.cs
in tools/simpleresgen/mono
45 8
TypeConverterFromResXHandler.cs
in tools/simpleresgen/mono
81 6
FileRefHandler.cs
in tools/simpleresgen/mono
52 6
ProjectContext.cs
in tools/nuget2bazel
48 5
DeleteOnRestart.cs
in tools/nuget2bazel
38 5
SdkCore.cs
in tools/nuget2bazel/rules
148 5
ByteArrayFromResXHandler.cs
in tools/simpleresgen/mono
39 5
InMemoryHandler.cs
in tools/simpleresgen/mono
36 5
ResXDataNodeHandler.cs
in tools/simpleresgen/mono
49 5
Files With Long Lines (Top 20)

There are 48 files with lines longer than 120 characters. In total, there are 681 long lines.

File# lines# units# long lines
3.1.407.bzl
in dotnet/private/stdlib
4782 - 117
3.1.100.bzl
in dotnet/private/stdlib
4729 - 106
5.0.404.bzl
in dotnet/private/stdlib
4828 - 56
6.0.101.bzl
in dotnet/private/stdlib
4940 - 55
5.0.201.bzl
in dotnet/private/stdlib
4828 - 53
toolchains.bzl
in dotnet/toolchain
214 - 33
test.bzl
in dotnet/private/rules/fsharp
104 - 22
test.bzl
in dotnet/private/rules/csharp
104 - 20
nugets.bzl
in dotnet/private
141 - 18
Sdks.cs
in tools/nuget2bazel/rules
88 3 17
nuget.bzl
in dotnet/private/rules
236 - 13
binary.bzl
in dotnet/private/rules/fsharp
75 - 11
WorkspaceEntry.cs
in tools/nuget2bazel
281 9 11
ResXResourceWriter.cs
in tools/simpleresgen/mono
521 30 11
binary.bzl
in dotnet/private/rules/csharp
75 - 10
import.bzl
in dotnet/private/rules
97 - 10
library.bzl
in dotnet/private/rules/csharp
80 - 9
library.bzl
in dotnet/private/rules/fsharp
79 - 9
stdlib.bzl
in dotnet/private/rules
102 - 8
RuntimeCoreGenerator.cs
in tools/nuget2bazel/rules
152 4 8