microsoft / cppwinrt
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 169 files with 25,854 lines of code.
    • 4 very long files (6,121 lines of code)
    • 12 long files (7,192 lines of code)
    • 18 medium size files (5,757 lines of codeclsfd_ftr_w_mp_ins)
    • 23 small files (3,295 lines of code)
    • 112 very small files (3,489 lines of code)
23% | 27% | 22% | 12% | 13%
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
h27% | 32% | 19% | 10% | 9%
inc100% | 0% | 0% | 0% | 0%
targets0% | 94% | 0% | 0% | 5%
cpp0% | 31% | 43% | 5% | 19%
vcxproj0% | 0% | 55% | 44% | 0%
filters0% | 0% | 0% | 43% | 56%
vstemplate0% | 0% | 0% | 0% | 100%
vsixmanifest0% | 0% | 0% | 0% | 100%
asm0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
natvis0% | 0% | 0% | 0% | 100%
xaml0% | 0% | 0% | 0% | 100%
cs0% | 0% | 0% | 0% | 100%
Props0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
cppwinrt53% | 24% | 18% | 2% | 1%
strings10% | 35% | 25% | 17% | 10%
fast_fwd87% | 0% | 0% | 12% | 0%
nuget0% | 93% | 0% | 0% | 6%
natvis0% | 33% | 44% | 0% | 22%
scratch0% | 0% | 97% | 0% | 2%
prebuild0% | 0% | 84% | 0% | 15%
vsix/ProjectTemplates0% | 0% | 0% | 52% | 47%
vsix/ItemTemplates0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
vsix/Dev170% | 0% | 0% | 0% | 100%
vsix/Dev160% | 0% | 0% | 0% | 100%
vsix0% | 0% | 0% | 0% | 100%
fast_fwd/arm0% | 0% | 0% | 0% | 100%
fast_fwd/x640% | 0% | 0% | 0% | 100%
fast_fwd/arm640% | 0% | 0% | 0% | 100%
fast_fwd/win320% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
code_writers.h
in cppwinrt
2863 101
base_implements.h
in strings
1187 60
component_writers.h
in cppwinrt
1053 26
thunks.inc
in fast_fwd
1018 -
helpers.h
in cppwinrt
739 41
base_coroutine_foundation.h
in strings
717 79
targets
Microsoft.Windows.CppWinRT.targets
in nuget
666 -
object_visualizer.cpp
in natvis
657 18
base_coroutine_threadpool.h
in strings
636 67
base_identity.h
in strings
569 56
base_string.h
in strings
559 55
base_error.h
in strings
541 33
cmd_reader.h
in cppwinrt
538 17
base_collections_base.h
in strings
538 60
type_writers.h
in cppwinrt
525 27
base_reference_produce.h
in strings
507 91
base_activation.h
in strings
457 32
base_array.h
in strings
434 40
base_events.h
in strings
426 32
text_writer.h
in cppwinrt
421 36
vcxproj
cppwinrt.vcxproj
in cppwinrt
375 -
base_windows.h
in strings
349 27
cppwinrt_visualizer.cpp
in natvis
332 13
vcxproj
scratch.vcxproj
in scratch
330 -
main.cpp
in cppwinrt
316 8
base_com_ptr.h
in strings
295 26
base_collections_input_iterable.h
in strings
282 8
base_collections_vector.h
in strings
274 23
type_resolver.cpp
in natvis
273 21
file_writers.h
in cppwinrt
269 11
vcxproj
cppwinrtvisualizer.vcxproj
in natvis
268 -
vcxproj
prebuild.vcxproj
in prebuild
232 -
base_meta.h
in strings
214 8
base_types.h
in strings
210 12
filters
cppwinrt.vcxproj.filters
in cppwinrt
193 -
base_collections_input_map_view.h
in strings
177 8
base_delegate.h
in strings
175 13
base_agile_ref.h
in strings
171 9
base_collections_input_vector_view.h
in strings
168 7
vcxproj
BlankApp.vcxproj
in vsix/ProjectTemplates/VC/Windows Universal/BlankApp
168 -
base_iterator.h
in strings
153 7
base_extern.h
in strings
149 -
base_xaml_typename.h
in strings
146 9
vcxproj
WindowsRuntimeComponent.vcxproj
in vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent
145 -
vcxproj
StaticLibrary.vcxproj
in vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary
143 -
vcxproj
fast_fwd.vcxproj
in fast_fwd
140 -
base_abi.h
in strings
140 18
vcxproj
CoreApp.vcxproj
in vsix/ProjectTemplates/VC/Windows Universal/CoreApp
139 -
base_foundation.h
in strings
137 8
base_string_operators.h
in strings
131 1
Files With Most Units (Top 20)
File# lines# units
code_writers.h
in cppwinrt
2863 101
base_reference_produce.h
in strings
507 91
base_coroutine_foundation.h
in strings
717 79
base_coroutine_threadpool.h
in strings
636 67
base_collections_base.h
in strings
538 60
base_implements.h
in strings
1187 60
base_identity.h
in strings
569 56
base_string.h
in strings
559 55
helpers.h
in cppwinrt
739 41
base_array.h
in strings
434 40
text_writer.h
in cppwinrt
421 36
base_error.h
in strings
541 33
base_activation.h
in strings
457 32
base_events.h
in strings
426 32
type_writers.h
in cppwinrt
525 27
base_windows.h
in strings
349 27
component_writers.h
in cppwinrt
1053 26
base_com_ptr.h
in strings
295 26
base_collections_vector.h
in strings
274 23
type_resolver.cpp
in natvis
273 21
Files With Long Lines (Top 20)

There are 95 files with lines longer than 120 characters. In total, there are 719 long lines.

File# lines# units# long lines
targets
Microsoft.Windows.CppWinRT.targets
in nuget
666 - 108
code_writers.h
in cppwinrt
2863 101 31
base_error.h
in strings
541 33 30
base_reference_produce.h
in strings
507 91 29
base_abi.h
in strings
140 18 27
base_collections_map.h
in strings
125 14 25
vcxproj
cppwinrtvisualizer.vcxproj
in natvis
268 - 24
object_visualizer.cpp
in natvis
657 18 19
base_coroutine_foundation.h
in strings
717 79 19
base_implements.h
in strings
1187 60 18
cmd
build_test_all.cmd
in root
29 - 15
base_extern.h
in strings
149 - 15
base_identity.h
in strings
569 56 15
base_collections_vector.h
in strings
274 23 13
base_coroutine_threadpool.h
in strings
636 67 13
vcxproj
cppwinrt.vcxproj
in cppwinrt
375 - 11
base_collections_base.h
in strings
538 60 11
vsixmanifest
source.extension.vsixmanifest
in vsix/Dev16/Standalone
38 - 11
vsixmanifest
source.extension.vsixmanifest
in vsix/Dev17/Standalone
44 - 11
cmd
build_vsix.cmd
in root
27 - 10