microsoft / VFSForGit
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 406 files with 47,663 lines of code.
    • 3 very long files (3,683 lines of code)
    • 12 long files (7,947 lines of code)
    • 62 medium size files (17,936 lines of codeclsfd_ftr_w_mp_ins)
    • 71 small files (9,993 lines of code)
    • 258 very small files (8,104 lines of code)
7% | 16% | 37% | 20% | 17%
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
cs8% | 14% | 40% | 19% | 16%
cpp0% | 20% | 30% | 34% | 15%
iss0% | 100% | 0% | 0% | 0%
h0% | 41% | 16% | 0% | 42%
vcxproj0% | 0% | 0% | 100% | 0%
filters0% | 0% | 0% | 44% | 55%
props0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
GVFS/GVFS.Virtualization29% | 16% | 33% | 14% | 5%
GVFS/GVFS.Platform.Windows24% | 14% | 26% | 21% | 11%
GVFS/GVFS17% | 29% | 27% | 16% | 8%
GVFS/GVFS.Common0% | 9% | 49% | 22% | 18%
GVFS/GVFS.NativeTests0% | 28% | 29% | 24% | 18%
GVFS/GVFS.Installers0% | 100% | 0% | 0% | 0%
GVFS/GVFS.Mount0% | 71% | 0% | 23% | 4%
GVFS/FastFetch0% | 34% | 35% | 18% | 10%
GVFS/GVFS.FunctionalTests0% | 0% | 65% | 9% | 24%
GVFS/GVFS.Service0% | 0% | 48% | 11% | 40%
GVFS/GVFS.Hooks0% | 0% | 65% | 27% | 6%
GVFS/GVFS.ReadObjectHook0% | 0% | 0% | 82% | 17%
GVFS/GitHooksLoader0% | 0% | 0% | 79% | 20%
GVFS/GVFS.Service.UI0% | 0% | 0% | 35% | 64%
GVFS/GVFS.NativeHooks.Common0% | 0% | 0% | 72% | 27%
GVFS/GVFS.VirtualFileSystemHook0% | 0% | 0% | 46% | 53%
GVFS/GVFS.PostIndexChangedHook0% | 0% | 0% | 49% | 50%
GVFS/GVFS.PerfProfiling0% | 0% | 0% | 57% | 42%
GVFS/GVFS.MSBuild0% | 0% | 0% | 0% | 100%
GVFS/GVFS.FunctionalTests.LockHolder0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
GVFS/GVFS.GVFlt0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
GitIndexProjection.cs
in GVFS/GVFS.Virtualization/Projection
1520 66
WindowsFileSystemVirtualizer.cs
in GVFS/GVFS.Platform.Windows
1116 39
GVFSVerb.cs
in GVFS/GVFS/CommandLine
1047 40
GitObjects.cs
in GVFS/GVFS.Common/Git
860 25
FileSystemCallbacks.cs
in GVFS/GVFS.Virtualization
823 52
GitProcess.cs
in GVFS/GVFS.Common/Git
773 65
ReadAndWriteTests.cpp
in GVFS/GVFS.NativeTests/source
739 18
ProjFSFilter.cs
in GVFS/GVFS.Platform.Windows
663 28
iss
Setup.iss
in GVFS/GVFS.Installers
661 -
DehydrateVerb.cs
in GVFS/GVFS/CommandLine
635 14
CloneVerb.cs
in GVFS/GVFS/CommandLine
613 11
InProcessMount.cs
in GVFS/GVFS.Mount
586 19
Index.cs
in GVFS/FastFetch
554 24
SparseVerb.cs
in GVFS/GVFS/CommandLine
530 13
TestHelpers.h
in GVFS/GVFS.NativeTests/include
510 23
DiagnoseVerb.cs
in GVFS/GVFS/CommandLine
496 15
BlobPrefetcher.cs
in GVFS/GVFS.Common/Prefetch
466 21
PhysicalFileSystem.cs
in GVFS/GVFS.Common/FileSystem
422 36
WindowsPlatform.cs
in GVFS/GVFS.Platform.Windows
418 31
PrefetchVerb.cs
in GVFS/GVFS/CommandLine
408 7
GitStatusCache.cs
in GVFS/GVFS.Common
402 23
FileBasedCollection.cs
in GVFS/GVFS.Common
380 16
ProjFS_MoveFileTest.cpp
in GVFS/GVFS.NativeTests/source
367 20
FileSystemVirtualizer.cs
in GVFS/GVFS.Virtualization/FileSystem
360 23
DiffHelper.cs
in GVFS/GVFS.Common/Prefetch/Git
357 13
GitIndexProjection.GitIndexParser.cs
in GVFS/GVFS.Virtualization/Projection
357 16
NamedPipeMessages.cs
in GVFS/GVFS.Common/NamedPipes
354 41
DiskLayoutUpgrade.cs
in GVFS/GVFS.Common/DiskLayoutUpgrades
351 13
GVFSLock.cs
in GVFS/GVFS.Common
348 22
Program.cs
in GVFS/GVFS.Hooks
346 18
LegacyPlaceholderListDatabase.cs
in GVFS/GVFS.Common
342 23
GVFSService.Windows.cs
in GVFS/GVFS.Service
332 16
CurrentUser.cs
in GVFS/GVFS.Platform.Windows
330 7
JsonTracer.cs
in GVFS/GVFS.Common/Tracing
327 34
RepoRegistry.cs
in GVFS/GVFS.Service
326 12
GitObjectsHttpRequestor.cs
in GVFS/GVFS.Common/Http
325 10
FileSystemShouldExtensions.cs
in GVFS/GVFS.FunctionalTests/Should
316 29
MountVerb.cs
in GVFS/GVFS/CommandLine
313 7
LockNamedPipeMessages.cs
in GVFS/GVFS.Common/NamedPipes
312 20
FastFetchVerb.cs
in GVFS/FastFetch
308 4
BlobSizes.cs
in GVFS/GVFS.Virtualization/BlobSize
303 16
GVFSFunctionalTestEnlistment.cs
in GVFS/GVFS.FunctionalTests/Tools
301 38
PrefetchStep.cs
in GVFS/GVFS.Common/Maintenance
296 9
GVFSHelpers.cs
in GVFS/GVFS.FunctionalTests/Tools
285 27
BashRunner.cs
in GVFS/GVFS.FunctionalTests/FileSystemRunners
282 37
BackgroundFileSystemTaskRunner.cs
in GVFS/GVFS.Virtualization/Background
279 14
PlaceholderTable.cs
in GVFS/GVFS.Common/Database
278 16
LocalCacheResolver.cs
in GVFS/GVFS.Common
274 9
GitAuthentication.cs
in GVFS/GVFS.Common/Git
272 12
NativeMethods.cs
in GVFS/GVFS.Common
269 9
Files With Most Units (Top 20)
File# lines# units
GitIndexProjection.cs
in GVFS/GVFS.Virtualization/Projection
1520 66
GitProcess.cs
in GVFS/GVFS.Common/Git
773 65
FileSystemCallbacks.cs
in GVFS/GVFS.Virtualization
823 52
NamedPipeMessages.cs
in GVFS/GVFS.Common/NamedPipes
354 41
GVFSVerb.cs
in GVFS/GVFS/CommandLine
1047 40
WindowsFileSystemVirtualizer.cs
in GVFS/GVFS.Platform.Windows
1116 39
GVFSFunctionalTestEnlistment.cs
in GVFS/GVFS.FunctionalTests/Tools
301 38
BashRunner.cs
in GVFS/GVFS.FunctionalTests/FileSystemRunners
282 37
PhysicalFileSystem.cs
in GVFS/GVFS.Common/FileSystem
422 36
JsonTracer.cs
in GVFS/GVFS.Common/Tracing
327 34
CmdRunner.cs
in GVFS/GVFS.FunctionalTests/FileSystemRunners
205 33
SystemIORunner.cs
in GVFS/GVFS.FunctionalTests/FileSystemRunners
231 33
PowerShellRunner.cs
in GVFS/GVFS.FunctionalTests/FileSystemRunners
185 32
WindowsPlatform.cs
in GVFS/GVFS.Platform.Windows
418 31
GVFSProcess.cs
in GVFS/GVFS.FunctionalTests/Tools
233 30
FileSystemShouldExtensions.cs
in GVFS/GVFS.FunctionalTests/Should
316 29
ProjFSFilter.cs
in GVFS/GVFS.Platform.Windows
663 28
GVFSHelpers.cs
in GVFS/GVFS.FunctionalTests/Tools
285 27
GitObjects.cs
in GVFS/GVFS.Common/Git
860 25
Index.cs
in GVFS/FastFetch
554 24
Files With Long Lines (Top 20)

There are 201 files with lines longer than 120 characters. In total, there are 1676 long lines.

File# lines# units# long lines
GitIndexProjection.cs
in GVFS/GVFS.Virtualization/Projection
1520 66 76
WindowsFileSystemVirtualizer.cs
in GVFS/GVFS.Platform.Windows
1116 39 66
GitObjects.cs
in GVFS/GVFS.Common/Git
860 25 61
ProjFSFilter.cs
in GVFS/GVFS.Platform.Windows
663 28 60
GVFSVerb.cs
in GVFS/GVFS/CommandLine
1047 40 58
InProcessMount.cs
in GVFS/GVFS.Mount
586 19 47
DehydrateVerb.cs
in GVFS/GVFS/CommandLine
635 14 44
DiagnoseVerb.cs
in GVFS/GVFS/CommandLine
496 15 38
FileSystemCallbacks.cs
in GVFS/GVFS.Virtualization
823 52 37
ReadAndWriteTests.cpp
in GVFS/GVFS.NativeTests/source
739 18 35
GitProcess.cs
in GVFS/GVFS.Common/Git
773 65 30
CloneVerb.cs
in GVFS/GVFS/CommandLine
613 11 30
LocalCacheResolver.cs
in GVFS/GVFS.Common
274 9 27
BlobPrefetcher.cs
in GVFS/GVFS.Common/Prefetch
466 21 24
FileSystemShouldExtensions.cs
in GVFS/GVFS.FunctionalTests/Should
316 29 24
Index.cs
in GVFS/FastFetch
554 24 23
SparseVerb.cs
in GVFS/GVFS/CommandLine
530 13 23
WindowsPlatform.cs
in GVFS/GVFS.Platform.Windows
418 31 22
PrefetchStep.cs
in GVFS/GVFS.Common/Maintenance
296 9 19
LockNamedPipeMessages.cs
in GVFS/GVFS.Common/NamedPipes
312 20 19