microsoft / Windows-Driver-Frameworks
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,189 files with 462,222 lines of code.
    • 105 very long files (225,637 lines of code)
    • 157 long files (102,134 lines of code)
    • 247 medium size files (80,341 lines of codeclsfd_ftr_w_mp_ins)
    • 220 small files (30,714 lines of code)
    • 460 very small files (23,396 lines of code)
48% | 22% | 17% | 6% | 5%
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
h49% | 23% | 15% | 6% | 4%
cpp52% | 17% | 20% | 5% | 3%
hpp30% | 18% | 23% | 15% | 12%
ps10% | 0% | 0% | 100% | 0%
c0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/publicinc/wdf/kmdf44% | 30% | 14% | 5% | 4%
src/publicinc/wdf/umdf48% | 20% | 19% | 6% | 4%
src/framework/shared/irphandlers63% | 13% | 17% | 2% | 2%
src/framework/kmdf/inc88% | 3% | 3% | 3% | 1%
src/framework/shared/enhancedverif88% | 5% | 5% | 0% | <1%
src/framework/shared/inc30% | 19% | 20% | 15% | 13%
src/framework/shared/core50% | 14% | 20% | 8% | 6%
src/framework/umdf/fxlib92% | 0% | 4% | 1% | 1%
src/framework/shared/targets42% | 31% | 20% | 4% | <1%
src/framework/kmdf/src24% | 39% | 25% | 7% | 2%
src/framework/shared/support17% | 10% | 54% | 9% | 8%
src/framework/shared/object23% | 12% | 41% | 14% | 8%
src/framework/shared/primitives0% | 0% | 0% | 35% | 64%
Tools0% | 0% | 0% | 100% | 0%
Longest Files (Top 50)
File# lines# units
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/km
8549 1
fxdynamics.h
in src/framework/kmdf/inc/private
7313 -
vffxdynamics.h
in src/framework/kmdf/inc/private
6672 -
powerpolicystatemachine.cpp
in src/framework/shared/irphandlers/pnp
5318 -
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/um
5240 1
fxdynamics.h
in src/framework/umdf/fxlib/version
4552 -
vffxdynamics.h
in src/framework/umdf/fxlib/version
4101 -
fxpkgpnp.hpp
in src/framework/shared/inc/private/common
3890 1
wdfdevice.h
in src/publicinc/wdf/kmdf/1.33
3555 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.31
3550 -
fxpkgpnp.cpp
in src/framework/shared/irphandlers/pnp
3501 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.23
3401 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.25
3401 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.27
3401 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.19
3375 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.21
3375 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.17
3369 -
wdfdevice.h
in src/publicinc/wdf/kmdf/1.15
3368 -
fxioqueue.cpp
in src/framework/shared/irphandlers/io
3098 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.33
2987 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.31
2947 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.25
2798 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.27
2798 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.19
2774 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.21
2774 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.23
2774 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.17
2768 -
powerstatemachine.cpp
in src/framework/shared/irphandlers/pnp
2763 -
wdfdevice.h
in src/publicinc/wdf/umdf/2.15
2665 -
wudfwdm.h
in src/publicinc/wdf/umdf/2.33
2517 -
wudfwdm.h
in src/publicinc/wdf/umdf/2.31
2496 -
wudfwdm.h
in src/publicinc/wdf/umdf/2.27
2419 -
wudfwdm.h
in src/publicinc/wdf/umdf/2.25
2400 -
wudfwdm.h
in src/publicinc/wdf/umdf/2.23
2395 -
pnpstatemachine.cpp
in src/framework/shared/irphandlers/pnp
2246 -
errtostatus.h
in src/framework/shared/inc/primitives/um
2026 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.31
1992 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.33
1992 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.15
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.17
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.19
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.21
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.23
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.25
1990 -
wdfusb.h
in src/publicinc/wdf/kmdf/1.27
1990 -
fxrequestapi.cpp
in src/framework/shared/core
1987 -
fxchildlist.cpp
in src/framework/kmdf/src/core
1952 1
fxdeviceapi.cpp
in src/framework/shared/core
1937 -
fxdeviceinitapi.cpp
in src/framework/shared/core
1863 -
fxrequest.cpp
in src/framework/shared/core
1836 1
Files With Most Units (Top 20)
File# lines# units
fxobject.hpp
in src/framework/shared/inc/private/common
1030 5
fxmemorybufferpreallocated.cpp
in src/framework/shared/core
53 3
fxstump.hpp
in src/framework/shared/inc/private/common
75 3
fxmemorybufferfromlookaside.cpp
in src/framework/shared/core
138 2
mxgeneralkm.h
in src/framework/shared/inc/primitives/km
624 2
mxgeneralum.h
in src/framework/shared/inc/primitives/um
717 2
fxcallback.hpp
in src/framework/shared/inc/private/common
96 2
fxrelateddevicelist.hpp
in src/framework/shared/inc/private/common
94 2
fxdmatransactionpacket.hpp
in src/framework/kmdf/inc/private
529 1
fxchildlist.cpp
in src/framework/kmdf/src/core
1952 1
fxmemorybufferpreallocatedapi.cpp
in src/framework/shared/core
102 1
fxrequest.cpp
in src/framework/shared/core
1836 1
fxrequestmemory.cpp
in src/framework/shared/core
115 1
fxdeviceapium.cpp
in src/framework/shared/core/um
847 1
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/km
8549 1
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/um
5240 1
mxlockkm.h
in src/framework/shared/inc/primitives/km
75 1
fxcallbacklock.hpp
in src/framework/shared/inc/private/common
67 1
fxdevicetext.hpp
in src/framework/shared/inc/private/common
46 1
fxeventqueue.hpp
in src/framework/shared/inc/private/common
278 1
Files With Long Lines (Top 20)

There are 475 files with lines longer than 120 characters. In total, there are 5577 long lines.

File# lines# units# long lines
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/km
8549 1 356
vfwdfdynamics.cpp
in src/framework/shared/enhancedverif/um
5240 1 199
wdfdevice.h
in src/publicinc/wdf/kmdf/1.31
3550 - 79
wdfdevice.h
in src/publicinc/wdf/kmdf/1.33
3555 - 79
wdfdevice.h
in src/publicinc/wdf/kmdf/1.23
3401 - 76
wdfdevice.h
in src/publicinc/wdf/kmdf/1.25
3401 - 76
wdfdevice.h
in src/publicinc/wdf/kmdf/1.27
3401 - 76
wdfdevice.h
in src/publicinc/wdf/kmdf/1.15
3368 - 75
wdfdevice.h
in src/publicinc/wdf/kmdf/1.17
3369 - 75
wdfdevice.h
in src/publicinc/wdf/kmdf/1.19
3375 - 75
wdfdevice.h
in src/publicinc/wdf/kmdf/1.21
3375 - 75
wdfdevice.h
in src/publicinc/wdf/umdf/2.33
2987 - 52
wdfusb.h
in src/publicinc/wdf/kmdf/1.15
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.17
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.19
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.21
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.23
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.25
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.27
1990 - 51
wdfusb.h
in src/publicinc/wdf/kmdf/1.31
1992 - 51