microsoft / glTF-SDK
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 121 files with 15,678 lines of code.
    • 1 very long files (1,146 lines of code)
    • 5 long files (3,431 lines of code)
    • 17 medium size files (4,532 lines of codeclsfd_ftr_w_mp_ins)
    • 27 small files (3,660 lines of code)
    • 71 very small files (2,909 lines of code)
7% | 21% | 28% | 23% | 18%
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
h26% | 0% | 25% | 22% | 25%
cpp0% | 44% | 30% | 10% | 14%
cmake0% | 79% | 0% | 0% | 20%
ps10% | 15% | 15% | 50% | 19%
vcxproj0% | 0% | 100% | 0% | 0%
yml0% | 0% | 100% | 0% | 0%
filters0% | 0% | 84% | 0% | 15%
psm10% | 0% | 0% | 66% | 33%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
GLTFSDK/Inc26% | 0% | 25% | 22% | 25%
GLTFSDK/Source0% | 48% | 27% | 7% | 15%
Build/CMake0% | 79% | 0% | 0% | 20%
XPlatScripts/NuGet.macOS0% | 22% | 0% | 57% | 19%
GLTFSDK.Samples/Deserialize0% | 0% | 95% | 0% | 4%
GLTFSDK0% | 0% | 96% | 0% | 3%
Build/Scripts0% | 0% | 42% | 25% | 31%
Build/AzureDevOps0% | 0% | 100% | 0% | 0%
GLTFSDK.Shared.CPP0% | 0% | 100% | 0% | 0%
GLTFSDK.Samples/Serialize0% | 0% | 56% | 38% | 4%
ROOT0% | 0% | 0% | 100% | 0%
External/RapidJSON0% | 0% | 0% | 0% | 100%
External/googletest0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
GLTF.h
in GLTFSDK/Inc/GLTFSDK
1146 38
Serialize.cpp
in GLTFSDK/Source
726 34
MeshPrimitiveUtils.cpp
in GLTFSDK/Source
709 65
Deserialize.cpp
in GLTFSDK/Source
701 39
cmake
ios.toolchain.cmake
in Build/CMake
665 -
Invoke-Tests.ps1
in XPlatScripts/NuGet.macOS
630 -
ExtensionsKHR.cpp
in GLTFSDK/Source
421 26
RapidJsonUtils.h
in GLTFSDK/Inc/GLTFSDK
333 35
GLTFResourceReader.h
in GLTFSDK/Inc/GLTFSDK
328 12
azure-pipelines.yml
in Build/AzureDevOps
322 -
filters
GLTFSDK.Shared.CPP.vcxitems.filters
in GLTFSDK.Shared.CPP
308 -
Color.cpp
in GLTFSDK/Source
278 16
Validation.cpp
in GLTFSDK/Source
276 15
vcxproj
Deserialize.vcxproj
in GLTFSDK.Samples/Deserialize
261 -
vcxproj
Serialize.vcxproj
in GLTFSDK.Samples/Serialize
261 -
Visitor.h
in GLTFSDK/Inc/GLTFSDK
246 21
BufferBuilder.cpp
in GLTFSDK/Source
246 7
vcxproj
GLTFSDK.vcxproj
in GLTFSDK
218 -
VersionGenerator.ps1
in Build/Scripts
209 -
IndexedContainer.h
in GLTFSDK/Inc/GLTFSDK
209 8
main.cpp
in GLTFSDK.Samples/Deserialize/Source
207 5
VersionModifier.ps1
in Build/Scripts
205 -
GenerateSchemaJsonHeader.ps1
in GLTFSDK
204 -
Publish-Tests.ps1
in XPlatScripts/NuGet.macOS
196 -
CalculateNugetPackageClosure.ps1
in XPlatScripts/NuGet.macOS
185 -
Invoke-iOSSimulatorTest.ps1
in XPlatScripts/NuGet.macOS
185 -
main.cpp
in GLTFSDK.Samples/Serialize/Source
175 5
ResourceReaderUtils.h
in GLTFSDK/Inc/GLTFSDK
170 25
Optional.h
in GLTFSDK/Inc/GLTFSDK
166 5
Invoke-WackTests.ps1
in XPlatScripts/NuGet.macOS
153 -
SummarizeTestFailures.ps1
in XPlatScripts/NuGet.macOS
151 -
ExtensionHandlers.h
in GLTFSDK/Inc/GLTFSDK
150 13
ReleaseNotesHelper.psm1
in Build/Scripts
147 -
UpdateNugetPackages.ps1
in XPlatScripts/NuGet.macOS
146 -
Color.h
in GLTFSDK/Inc/GLTFSDK
135 1
Invoke-AndroidEmulatorTest.ps1
in XPlatScripts/NuGet.macOS
129 -
androidbuild.ps1
in root
129 -
GLBResourceReader.cpp
in GLTFSDK/Source
127 5
PBRUtils.h
in GLTFSDK/Inc/GLTFSDK
121 6
NuGetRestore.ps1
in XPlatScripts/NuGet.macOS
121 -
Traverse.h
in GLTFSDK/Inc/GLTFSDK
115 5
Get-VstsArtifact.ps1
in XPlatScripts/NuGet.macOS
112 -
SerializeForPostbuild.ps1
in XPlatScripts/NuGet.macOS
112 -
macbuild.ps1
in root
111 -
ReleaseNotesPRChecker.ps1
in Build/Scripts
108 -
ExtrasDocument.h
in GLTFSDK/Inc/GLTFSDK
106 10
Uninstall-AppxFiles.ps1
in XPlatScripts/NuGet.macOS
105 -
MicrosoftGeneratorVersion.cpp
in GLTFSDK/Source
102 2
Schema.cpp
in GLTFSDK/Source
102 2
macinit.ps1
in root
101 -
Files With Most Units (Top 20)
File# lines# units
MeshPrimitiveUtils.cpp
in GLTFSDK/Source
709 65
Deserialize.cpp
in GLTFSDK/Source
701 39
GLTF.h
in GLTFSDK/Inc/GLTFSDK
1146 38
RapidJsonUtils.h
in GLTFSDK/Inc/GLTFSDK
333 35
Serialize.cpp
in GLTFSDK/Source
726 34
ExtensionsKHR.cpp
in GLTFSDK/Source
421 26
ResourceReaderUtils.h
in GLTFSDK/Inc/GLTFSDK
170 25
Visitor.h
in GLTFSDK/Inc/GLTFSDK
246 21
Color.cpp
in GLTFSDK/Source
278 16
Validation.cpp
in GLTFSDK/Source
276 15
ExtensionHandlers.h
in GLTFSDK/Inc/GLTFSDK
150 13
GLTFResourceReader.h
in GLTFSDK/Inc/GLTFSDK
328 12
AnimationUtils.cpp
in GLTFSDK/Source
98 12
ExtrasDocument.h
in GLTFSDK/Inc/GLTFSDK
106 10
IndexedContainer.h
in GLTFSDK/Inc/GLTFSDK
209 8
StreamCache.h
in GLTFSDK/Inc/GLTFSDK
82 7
StreamUtils.h
in GLTFSDK/Inc/GLTFSDK
70 7
BufferBuilder.cpp
in GLTFSDK/Source
246 7
PBRUtils.h
in GLTFSDK/Inc/GLTFSDK
121 6
PBRUtils.cpp
in GLTFSDK/Source
40 6
Files With Long Lines (Top 20)

There are 76 files with lines longer than 120 characters. In total, there are 559 long lines.

File# lines# units# long lines
Serialize.cpp
in GLTFSDK/Source
726 34 64
MeshPrimitiveUtils.cpp
in GLTFSDK/Source
709 65 41
Deserialize.cpp
in GLTFSDK/Source
701 39 36
ExtensionsKHR.cpp
in GLTFSDK/Source
421 26 34
MeshPrimitiveUtils.h
in GLTFSDK/Inc/GLTFSDK
51 - 31
Validation.cpp
in GLTFSDK/Source
276 15 16
Visitor.h
in GLTFSDK/Inc/GLTFSDK
246 21 15
cmake
ios.toolchain.cmake
in Build/CMake
665 - 14
RapidJsonUtils.h
in GLTFSDK/Inc/GLTFSDK
333 35 14
VersionModifier.ps1
in Build/Scripts
205 - 13
Invoke-Tests.ps1
in XPlatScripts/NuGet.macOS
630 - 13
ReleaseNotesPRChecker.ps1
in Build/Scripts
108 - 12
AnimationUtils.h
in GLTFSDK/Inc/GLTFSDK
28 - 12
GLTFResourceReader.h
in GLTFSDK/Inc/GLTFSDK
328 12 12
AnimationUtils.cpp
in GLTFSDK/Source
98 12 12
vcxproj
Deserialize.vcxproj
in GLTFSDK.Samples/Deserialize
261 - 9
vcxproj
Serialize.vcxproj
in GLTFSDK.Samples/Serialize
261 - 9
ExtensionHandlers.h
in GLTFSDK/Inc/GLTFSDK
150 13 8
ExtensionsKHR.h
in GLTFSDK/Inc/GLTFSDK
71 - 8
ResourceReaderUtils.h
in GLTFSDK/Inc/GLTFSDK
170 25 8