microsoft / DirectXTK
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 163 files with 50,751 lines of code.
    • 7 very long files (10,576 lines of code)
    • 24 long files (15,072 lines of code)
    • 60 medium size files (18,979 lines of codeclsfd_ftr_w_mp_ins)
    • 26 small files (3,918 lines of code)
    • 46 very small files (2,206 lines of code)
20% | 29% | 37% | 7% | 4%
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
cpp29% | 41% | 27% | 1% | <1%
inl100% | 0% | 0% | 0% | 0%
h0% | 40% | 27% | 17% | 14%
vcxproj0% | 25% | 71% | 3% | 0%
filters0% | 0% | 90% | 0% | 9%
fx0% | 0% | 72% | 19% | 8%
cmd0% | 0% | 100% | 0% | 0%
fxh0% | 0% | 36% | 24% | 38%
cs0% | 0% | 0% | 78% | 21%
hlsl0% | 0% | 0% | 100% | 0%
inc0% | 0% | 0% | 100% | 0%
hlsli0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Src17% | 46% | 28% | 5% | 2%
Inc41% | 25% | 17% | 8% | 7%
Audio30% | 24% | 35% | 2% | 5%
XWBTool66% | 0% | 31% | 0% | 1%
ROOT0% | 20% | 79% | 0% | 0%
Src/Shaders0% | 0% | 58% | 28% | 13%
MakeSpriteFont0% | 0% | 0% | 79% | 20%
MakeSpriteFont/Properties0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
inl
SimpleMath.inl
in Inc
3085 226
xwbtool.cpp
in XWBTool
1527 13
GamePad.cpp
in Src
1378 42
AudioEngine.cpp
in Audio
1246 38
DDSTextureLoader.cpp
in Src
1165 12
WaveBankReader.cpp
in Audio
1104 37
Mouse.cpp
in Src
1071 50
WICTextureLoader.cpp
in Src
995 14
LoaderHelpers.h
in Src
851 13
Geometry.cpp
in Src
800 19
SpriteBatch.cpp
in Src
784 31
SimpleMath.h
in Inc
757 90
SoundCommon.cpp
in Audio
694 12
ModelLoadCMO.cpp
in Src
677 5
SoundStreamInstance.cpp
in Audio
667 34
DGSLEffect.cpp
in Src
667 38
ModelLoadSDKMESH.cpp
in Src
627 7
XboxDDSTextureLoader.cpp
in Src
625 8
Effects.h
in Inc
619 6
GeometricPrimitive.cpp
in Src
561 35
Model.cpp
in Src
545 17
vcxproj
DirectXTK_Windows10_2019.vcxproj
in root
540 -
vcxproj
DirectXTK_Windows10_2022.vcxproj
in root
540 -
WAVFileReader.cpp
in Audio
538 8
vcxproj
DirectXTK_Windows10_2017.vcxproj
in root
532 -
ScreenGrab.cpp
in Src
516 3
EnvironmentMapEffect.cpp
in Src
512 31
BasicEffect.cpp
in Src
511 31
Audio.h
in Inc
505 16
NormalMapEffect.cpp
in Src
505 37
PBREffect.cpp
in Src
504 34
DGSLEffectFactory.cpp
in Src
487 16
SoundEffect.cpp
in Audio
459 21
SpriteFont.cpp
in Src
446 23
vcxproj
DirectXTK_Desktop_2019_Win10.vcxproj
in root
444 -
vcxproj
DirectXTK_Desktop_2022_Win10.vcxproj
in root
444 -
Keyboard.cpp
in Src
444 23
vcxproj
DirectXTK_Desktop_2017_Win10.vcxproj
in root
438 -
SkinnedEffect.cpp
in Src
438 32
Keyboard.h
in Inc
437 7
WaveBank.cpp
in Audio
435 32
BasicPostProcess.cpp
in Src
427 16
EffectFactory.cpp
in Src
414 15
fx
BasicEffect.fx
in Src/Shaders
400 -
VertexTypes.h
in Inc
371 2
filters
DirectXTK_XboxOneXDK_2017.vcxproj.filters
in root
368 -
filters
DirectXTK_Desktop_2017_Win10.vcxproj.filters
in root
360 -
filters
DirectXTK_Desktop_2019_Win10.vcxproj.filters
in root
360 -
filters
DirectXTK_Desktop_2022_Win10.vcxproj.filters
in root
360 -
filters
DirectXTK_Windows10_2017.vcxproj.filters
in root
360 -
Files With Most Units (Top 20)
File# lines# units
inl
SimpleMath.inl
in Inc
3085 226
SimpleMath.h
in Inc
757 90
Mouse.cpp
in Src
1071 50
GamePad.cpp
in Src
1378 42
AudioEngine.cpp
in Audio
1246 38
DGSLEffect.cpp
in Src
667 38
WaveBankReader.cpp
in Audio
1104 37
NormalMapEffect.cpp
in Src
505 37
GeometricPrimitive.cpp
in Src
561 35
SoundStreamInstance.cpp
in Audio
667 34
PBREffect.cpp
in Src
504 34
WaveBank.cpp
in Audio
435 32
SkinnedEffect.cpp
in Src
438 32
BasicEffect.cpp
in Src
511 31
EnvironmentMapEffect.cpp
in Src
512 31
SpriteBatch.cpp
in Src
784 31
GamePad.h
in Inc
230 29
DynamicSoundEffectInstance.cpp
in Audio
262 27
CommonStates.cpp
in Src
254 24
Keyboard.cpp
in Src
444 23
Files With Long Lines (Top 20)

There are 102 files with lines longer than 120 characters. In total, there are 1062 long lines.

File# lines# units# long lines
SimpleMath.h
in Inc
757 90 64
ScreenGrab.cpp
in Src
516 3 37
VertexTypes.cpp
in Src
101 3 37
SoundCommon.cpp
in Audio
694 12 31
ModelLoadSDKMESH.cpp
in Src
627 7 29
Mouse.cpp
in Src
1071 50 28
xwbtool.cpp
in XWBTool
1527 13 28
inl
SimpleMath.inl
in Inc
3085 226 26
EnvironmentMapEffect.cpp
in Src
512 31 26
GeometricPrimitive.h
in Inc
74 1 25
GamePad.cpp
in Src
1378 42 24
vcxproj
DirectXTK_Desktop_2017_Win10.vcxproj
in root
438 - 22
vcxproj
DirectXTK_Desktop_2019_Win10.vcxproj
in root
444 - 22
vcxproj
DirectXTK_Desktop_2022_Win10.vcxproj
in root
444 - 22
vcxproj
DirectXTK_Windows10_2017.vcxproj
in root
532 - 20
vcxproj
DirectXTK_Windows10_2019.vcxproj
in root
540 - 20
vcxproj
DirectXTK_Windows10_2022.vcxproj
in root
540 - 20
Effects.h
in Inc
619 6 20
SpriteFont.cpp
in Src
446 23 20
WaveBankReader.cpp
in Audio
1104 37 19