microsoft / Win2D
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 556 files with 113,893 lines of code.
    • 23 very long files (37,452 lines of code)
    • 32 long files (23,699 lines of code)
    • 79 medium size files (25,487 lines of codeclsfd_ftr_w_mp_ins)
    • 98 small files (14,019 lines of code)
    • 324 very small files (13,236 lines of code)
32% | 20% | 22% | 12% | 11%
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
cpp43% | 22% | 21% | 7% | 5%
h9% | 19% | 25% | 21% | 24%
cs28% | 18% | 19% | 20% | 13%
filters100% | 0% | 0% | 0% | 0%
vcxproj0% | 0% | 81% | 18% | 0%
ps10% | 0% | 77% | 0% | 22%
proj0% | 0% | 90% | 0% | 9%
yml0% | 0% | 0% | 70% | 29%
cmd0% | 0% | 0% | 54% | 45%
props0% | 0% | 0% | 66% | 33%
targets0% | 0% | 0% | 0% | 100%
inl0% | 0% | 0% | 0% | 100%
xaml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
winrt/test.internal38% | 23% | 20% | 8% | 8%
winrt/lib29% | 20% | 24% | 12% | 12%
winrt/test.external31% | 13% | 21% | 18% | 14%
winrt/test.managed64% | 0% | 16% | 4% | 14%
tools/codegen0% | 50% | 8% | 28% | 13%
winrt/inc0% | 0% | 34% | 41% | 23%
tools/exportsample0% | 0% | 52% | 34% | 12%
build0% | 0% | 46% | 22% | 31%
ROOT0% | 0% | 64% | 0% | 35%
tools/mock0% | 0% | 96% | 0% | 3%
tools/checkcode0% | 0% | 0% | 67% | 32%
tools/shared0% | 0% | 0% | 100% | 0%
build/AzurePipelinesTemplates0% | 0% | 0% | 78% | 21%
winrt/dll0% | 0% | 0% | 67% | 32%
winrt/test.nativecomponent0% | 0% | 0% | 0% | 100%
build/nuget0% | 0% | 0% | 0% | 100%
winrt/published0% | 0% | 0% | 0% | 100%
winrt/projection.net50% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
CanvasDrawingSessionUnitTests.cpp
in winrt/test.internal/graphics
4105 52
CanvasDrawingSession.cpp
in winrt/lib/drawing
3381 234
CanvasAnimatedControlUnitTests.cpp
in winrt/test.internal/xaml
2572 43
CanvasTextLayoutTests.cpp
in winrt/test.internal/graphics
2232 25
CanvasTextAnalyzerUnitTests.cpp
in winrt/test.internal/graphics
1988 37
Helpers.h
in winrt/test.internal/utils
1959 44
CanvasGeometryUnitTests.cpp
in winrt/test.internal/graphics
1832 8
CanvasBitmapTests.cpp
in winrt/test.external
1747 38
CanvasTextLayout.cpp
in winrt/lib/text
1449 95
CanvasGeometry.cpp
in winrt/lib/geometry
1407 93
CanvasTextFormatTests.cpp
in winrt/test.internal/graphics
1399 17
filters
winrt.lib.uap.vcxproj.filters
in winrt/lib
1254 -
CanvasFontFaceUnitTests.cpp
in winrt/test.internal/graphics
1203 7
CanvasSpriteBatchUnitTests.cpp
in winrt/test.internal/graphics
1184 22
CanvasBitmap.cpp
in winrt/lib/images
1179 58
CanvasTextAnalyzer.cpp
in winrt/lib/text
1151 47
CanvasDrawingSession.h
in winrt/lib/drawing
1117 2
PixelShaderEffectTests.cs
in winrt/test.managed
1091 44
EffectTests.cs
in winrt/test.managed
1075 37
CanvasDevice.cpp
in winrt/lib/drawing
1066 76
CanvasSwapChainUnitTests.cpp
in winrt/test.internal/graphics
1039 6
CanvasEffectsTests.cpp
in winrt/test.external
1011 3
PixelShaderEffectUnitTests.cpp
in winrt/test.internal/graphics
1011 11
CanvasPrintDocumentUnitTests.cpp
in winrt/test.internal/graphics
971 14
CanvasSvgElementUnitTests.cpp
in winrt/test.internal/graphics
971 12
CanvasEffect.cpp
in winrt/lib/effects
956 46
CanvasFontFace.cpp
in winrt/lib/text
909 55
CanvasTextFormat.cpp
in winrt/lib/text
895 95
MockHelpers.h
in winrt/test.internal/mocks
877 59
RecreatableDeviceManagerTests.cpp
in winrt/test.internal/xaml
851 25
BaseControl.h
in winrt/lib/xaml
840 61
CanvasEffectUnitTest.cpp
in winrt/test.internal/graphics
826 6
CanvasAnimatedControl.cpp
in winrt/lib/xaml
824 45
CanvasBitmap.h
in winrt/lib/images
806 37
CanvasDeviceUnitTests.cpp
in winrt/test.internal/graphics
806 13
CanvasSharedControlUnitTests.cpp
in winrt/test.internal/xaml
795 15
CanvasSvgElement.cpp
in winrt/lib/svg
775 63
CanvasSvgAttributeUnitTests.cpp
in winrt/test.internal/graphics
762 15
CanvasImageUnitTests.cpp
in winrt/test.internal/graphics
750 9
CanvasVirtualImageSourceUnitTests.cpp
in winrt/test.internal/xaml
742 9
OutputEffectType.cs
in tools/codegen/exe
733 25
CanvasGradientBrushUnitTests.cpp
in winrt/test.internal/graphics
722 22
StubSwapChainPanel.h
in winrt/test.internal/stubs
707 304
TextUtilities.h
in winrt/lib/text
678 67
CanvasControlUnitTests.cpp
in winrt/test.internal/xaml
665 18
Effect.cs
in tools/codegen/exe
638 24
CanvasSwapChain.cpp
in winrt/lib/drawing
638 41
CanvasTextRendererUnitTests.cpp
in winrt/test.internal/graphics
633 6
Helpers.h
in winrt/test.external
626 44
Conversion.h
in winrt/lib/utils
613 44
Files With Most Units (Top 20)
File# lines# units
StubSwapChainPanel.h
in winrt/test.internal/stubs
707 304
StubImageControl.h
in winrt/test.internal/stubs
261 239
StubUserControlWithXamlRoot.h
in winrt/test.internal/stubs
379 239
CanvasDrawingSession.cpp
in winrt/lib/drawing
3381 234
CanvasTextFormat.cpp
in winrt/lib/text
895 95
CanvasTextLayout.cpp
in winrt/lib/text
1449 95
CanvasGeometry.cpp
in winrt/lib/geometry
1407 93
MockProperties.h
in winrt/test.internal/mocks
527 87
StubUserControl.h
in winrt/test.internal/stubs
481 77
CanvasDevice.cpp
in winrt/lib/drawing
1066 76
TextUtilities.h
in winrt/lib/text
678 67
MockDWriteTextLayout.h
in winrt/test.internal/mocks
503 64
CanvasSvgElement.cpp
in winrt/lib/svg
775 63
BaseControl.h
in winrt/lib/xaml
840 61
MockHelpers.h
in winrt/test.internal/mocks
877 59
CanvasBitmap.cpp
in winrt/lib/images
1179 58
CanvasFontFace.cpp
in winrt/lib/text
909 55
CanvasDrawingSessionUnitTests.cpp
in winrt/test.internal/graphics
4105 52
MockCoreWindow.h
in winrt/test.internal/mocks
336 52
MockD3D11Device.h
in winrt/test.internal/mocks
346 49
Files With Long Lines (Top 20)

There are 292 files with lines longer than 120 characters. In total, there are 3163 long lines.

File# lines# units# long lines
CanvasDrawingSessionUnitTests.cpp
in winrt/test.internal/graphics
4105 52 325
Conversion.h
in winrt/lib/utils
613 44 144
StubImageControl.h
in winrt/test.internal/stubs
261 239 88
StubSwapChainPanel.h
in winrt/test.internal/stubs
707 304 88
CanvasGeometryUnitTests.cpp
in winrt/test.internal/graphics
1832 8 86
StubUserControlWithXamlRoot.h
in winrt/test.internal/stubs
379 239 85
MockCanvasDrawingSession.h
in winrt/test.internal/mocks
227 2 79
CanvasTextLayoutTests.cpp
in winrt/test.internal/graphics
2232 25 75
CanvasTextAnalyzerUnitTests.cpp
in winrt/test.internal/graphics
1988 37 68
CanvasEffectUnitTest.cpp
in winrt/test.internal/graphics
826 6 54
CanvasBitmapTests.cpp
in winrt/test.external
1747 38 53
PixelShaderEffectUnitTests.cpp
in winrt/test.internal/graphics
1011 11 50
CanvasFontFaceUnitTests.cpp
in winrt/test.internal/graphics
1203 7 45
CanvasSpriteBatchUnitTests.cpp
in winrt/test.internal/graphics
1184 22 45
inl
Strings.inl
in winrt/lib/utils
73 - 38
CanvasVirtualImageSourceUnitTests.cpp
in winrt/test.internal/xaml
742 9 37
CanvasSvgElement.cpp
in winrt/lib/svg
775 63 35
MockD2DDeviceContext.h
in winrt/test.internal/mocks
338 19 35
CanvasSvgElementUnitTests.cpp
in winrt/test.internal/graphics
971 12 34
CanvasTextAnalyzer.cpp
in winrt/lib/text
1151 47 33