microsoft / pmod
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 1,184 files with 125,369 lines of code.
    • 13 very long files (17,810 lines of code)
    • 33 long files (22,667 lines of code)
    • 107 medium size files (31,488 lines of codeclsfd_ftr_w_mp_ins)
    • 151 small files (21,620 lines of code)
    • 880 very small files (31,784 lines of code)
14% | 18% | 25% | 17% | 25%
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
cpp27% | 24% | 23% | 12% | 13%
h4% | 12% | 27% | 22% | 33%
c0% | 60% | 28% | 3% | 7%
mm0% | 0% | 48% | 36% | 15%
cs0% | 0% | 26% | 27% | 45%
java0% | 0% | 16% | 17% | 66%
filters0% | 0% | 0% | 14% | 85%
vcxproj0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
inc0% | 0% | 0% | 0% | 100%
proj0% | 0% | 0% | 0% | 100%
targets0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
cc0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
model_library40% | 20% | 16% | 14% | 7%
codegen24% | 43% | 16% | 7% | 7%
proxy38% | 25% | 15% | 14% | 5%
public7% | 12% | 30% | 20% | 28%
foundation18% | 6% | 31% | 25% | 19%
foundation_pal78% | 0% | 0% | 19% | 1%
jansson0% | 54% | 30% | 3% | 11%
foundation_library0% | 26% | 45% | 14% | 14%
winrt0% | 10% | 22% | 19% | 47%
java0% | 11% | 11% | 18% | 58%
objectivec0% | 0% | 44% | 33% | 22%
coreclr0% | 0% | 30% | 16% | 53%
nodejs0% | 0% | 51% | 17% | 31%
__generated0% | 0% | 76% | 9% | 14%
model0% | 0% | 30% | 37% | 32%
inc0% | 0% | 24% | 42% | 33%
pal0% | 0% | 0% | 34% | 65%
src0% | 0% | 0% | 74% | 25%
__build0% | 0% | 0% | 4% | 95%
android0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ObservableObject.cpp
in src/model_library
1850 96
ObservableCollection.cpp
in src/model_library
1693 90
GenerateFastCppTemplate.cpp
in src/codegen/tool
1683 29
PropertyValueInternalStatics.cpp
in src/foundation
1650 48
SchemaParser.cpp
in src/codegen/parser/csharp
1430 19
ObservableObjectProxy.cpp
in src/proxy
1382 82
GenerateWindowsRuntimeAdapter.cpp
in src/codegen/tool
1254 39
pv_util.h
in src/public/inc/foundation
1198 180
PropertyValue.cpp
in src/foundation_pal
1193 152
ProxyObjectFactory.cpp
in src/proxy
1144 54
ObjectStatics.cpp
in src/model_library
1138 34
com_library.h
in src/public/inc/foundation/ctl
1107 95
CollectionViewModel.cpp
in src/model_library
1088 65
GenerateTypeInfo.cpp
in src/codegen/tool
956 15
CodeGenToolBase.cpp
in src/codegen/tool
910 54
BaseObjectProxy.cpp
in src/proxy
879 70
GenerateCppLibrary.cpp
in src/codegen/tool
872 19
GenerateCSharpClasses.cpp
in src/codegen/tool
867 20
load.c
in src/jansson/src
859 19
GenerateObjectiveC.cpp
in src/codegen/tool
796 10
fire_event_support.h
in src/public/inc/foundation/library
779 24
MoCoreAdapterFactory.cpp
in src/winrt/projection
778 26
ObservableCollectionProxy.cpp
in src/proxy
759 41
value.c
in src/jansson/src
750 41
GenerateJava.cpp
in src/codegen/tool
721 18
ModelSchema.h
in src/codegen/inc
708 43
SchemaSerializer.cpp
in src/codegen/src
699 8
Expression.cpp
in src/foundation_library
680 20
GenerateModelAdapter.cpp
in src/codegen/tool
671 15
BaseModelSource.h
in src/model_library
664 45
PropertyBinding.cpp
in src/model_library
658 32
JsonStatics.cpp
in src/foundation_library
646 22
GenerateCSharpTypeInfo.cpp
in src/codegen/tool
637 18
boxing_util.h
in src/public/inc/foundation
630 65
PropertyValueImpl.cpp
in src/java/pmod/jni
629 5
pack_unpack.c
in src/jansson/src
623 10
MoObservableObjectProxy.h
in src/winrt/moproxy
589 18
ObjectNode.h
in src/model_library
587 23
event_util.h
in src/public/inc/foundation
579 35
observable_collection_stl.h
in src/public/inc/pmod/library
570 14
FoundationBase.h
in src/foundation_library
561 43
observable_collection_impl.h
in src/public/inc/pmod/library
548 23
TypeInfoStatics.cpp
in src/foundation
542 29
FastItemsContainer.cpp
in src/model_library
508 36
ObservableObjectAdapters.cpp
in src/model_library
507 15
mtl.h
in src/public/inc/pmod/library
505 22
PMODInterop.mm
in src/objectivec/PMODAdapter
480 10
array_wrapper.h
in src/public/inc/foundation
478 26
ObservableObjectInfo.cpp
in src/model
476 26
GenerateNetInterop.cpp
in src/codegen/tool
467 14
Files With Most Units (Top 20)
File# lines# units
pv_util.h
in src/public/inc/foundation
1198 180
PropertyValue.cpp
in src/foundation_pal
1193 152
ObservableObject.cpp
in src/model_library
1850 96
com_library.h
in src/public/inc/foundation/ctl
1107 95
ObservableCollection.cpp
in src/model_library
1693 90
ObservableObjectProxy.cpp
in src/proxy
1382 82
BaseObjectProxy.cpp
in src/proxy
879 70
CollectionViewModel.cpp
in src/model_library
1088 65
boxing_util.h
in src/public/inc/foundation
630 65
CodeGenToolBase.cpp
in src/codegen/tool
910 54
ProxyObjectFactory.cpp
in src/proxy
1144 54
PropertyValueInternalStatics.cpp
in src/foundation
1650 48
observable_object_class_wrapper.h
in src/public/inc/pmod/library
459 46
BaseModelSource.h
in src/model_library
664 45
ModelSchema.h
in src/codegen/inc
708 43
FoundationBase.h
in src/foundation_library
561 43
MoEnumValueProxy.h
in src/winrt/moproxy
273 42
value.c
in src/jansson/src
750 41
ObservableCollectionProxy.cpp
in src/proxy
759 41
MoObservableObjectAdapterBase.h
in src/public/inc/winrt
227 41
Files With Long Lines (Top 20)

There are 397 files with lines longer than 120 characters. In total, there are 1514 long lines.

File# lines# units# long lines
GenerateFastCppTemplate.cpp
in src/codegen/tool
1683 29 48
AsyncOperationClassInfoCache.cpp
in src/foundation
371 2 40
pv_util.h
in src/public/inc/foundation
1198 180 37
SchemaParser.cpp
in src/codegen/parser/csharp
1430 19 36
ObservableObject.cpp
in src/model_library
1850 96 30
SchemaSerializer.cpp
in src/codegen/src
699 8 29
ProxyObjectFactory.cpp
in src/proxy
1144 54 23
ObservableCollection.cpp
in src/model_library
1693 90 22
GenerateWindowsRuntimeAdapter.cpp
in src/codegen/tool
1254 39 21
FoundationLoggerTypeInfoIIDs.g.cpp
in src/__generated/foundation_library
22 - 20
GenerateTypeInfo.cpp
in src/codegen/tool
956 15 19
PropertyValueInternalStatics.cpp
in src/foundation
1650 48 18
ObservableCollectionClassInfoCache.cpp
in src/model
155 1 18
ObservableObjectProxy.cpp
in src/proxy
1382 82 18
observable_collection_impl.h
in src/public/inc/pmod/library
548 23 17
MoLibraryFactory.cpp
in src/winrt/projection_lib
39 - 17
GenerateObjectiveC.cpp
in src/codegen/tool
796 10 16
ObservableObject.h
in src/model_library
329 9 15
library_util.h
in src/public/inc/pmod/library
113 2 15
MoCoreAdapterFactory.cpp
in src/winrt/projection
778 26 15