microsoft / PTVS
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,419 files with 150,991 lines of code.
    • 16 very long files (25,984 lines of code)
    • 32 long files (20,799 lines of code)
    • 132 medium size files (40,351 lines of codeclsfd_ftr_w_mp_ins)
    • 191 small files (27,156 lines of code)
    • 1,048 very small files (36,701 lines of code)
17% | 13% | 26% | 17% | 24%
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
cs14% | 14% | 27% | 18% | 24%
xaml50% | 0% | 26% | 12% | 11%
py22% | 18% | 23% | 11% | 23%
cpp56% | 0% | 39% | 0% | 3%
proj0% | 62% | 0% | 10% | 26%
h0% | 64% | 0% | 0% | 35%
js0% | 0% | 97% | 0% | 2%
html0% | 0% | 36% | 0% | 63%
vcxproj0% | 0% | 20% | 79% | 0%
targets0% | 0% | 0% | 48% | 51%
ps10% | 0% | 0% | 80% | 19%
reg0% | 0% | 0% | 65% | 34%
natvis0% | 0% | 0% | 100% | 0%
yml0% | 0% | 0% | 41% | 58%
vstemplate0% | 0% | 0% | 0% | 100%
snippet0% | 0% | 0% | 0% | 100%
vsixmanifest0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
filters0% | 0% | 0% | 0% | 100%
tpl0% | 0% | 0% | 0% | 100%
jade0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
c0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
pyw0% | 0% | 0% | 0% | 100%
asax0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Python/Product14% | 14% | 26% | 19% | 25%
Common/Product29% | 14% | 27% | 12% | 15%
Python/Templates0% | 0% | 38% | 0% | 61%
Common/Tools0% | 0% | 97% | 0% | 2%
Build0% | 0% | 0% | 50% | 49%
Python/Setup0% | 0% | 0% | 48% | 51%
Python/Prerequisites0% | 0% | 0% | 67% | 32%
ROOT0% | 0% | 0% | 49% | 50%
Build/templates0% | 0% | 0% | 0% | 100%
Build/17.00% | 0% | 0% | 0% | 100%
Build/16.00% | 0% | 0% | 0% | 100%
Python0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ProjectNode.cs
in Common/Product/SharedProject
4371 236
ProjectAnalyzer.cs
in Python/Product/PythonTools/PythonTools/Intellisense
2139 101
PythonProjectNode.cs
in Python/Product/PythonTools/PythonTools/Project
2092 111
debugger.py
in Python/Product/PythonTools/ptvsd
1996 164
xaml
ModernStyles.xaml
in Python/Product/PythonTools/PythonTools/Wpf
1703 -
DiffMatchPatch.cs
in Python/Product/PythonTools/PythonTools/Editor/Formatting
1510 47
xaml
Controls.xaml
in Python/Product/Cookiecutter/Shared/Wpf
1367 -
CommonProjectNode.cs
in Common/Product/SharedProject
1314 83
HierarchyNode.cs
in Common/Product/SharedProject
1313 67
ProjectNode.CopyPaste.cs
in Common/Product/SharedProject
1307 49
xaml
Controls.xaml
in Common/Product/SharedProject/Wpf
1296 -
PyDebugAttach.cpp
in Python/Product/PyDebugAttach
1281 34
CookiecutterViewModel.cs
in Python/Product/Cookiecutter/ViewModel
1136 43
IntellisenseController.cs
in Python/Product/PythonTools/PythonTools/Intellisense
1072 74
AD7Engine.cs
in Python/Product/Debugger/Debugger/DebugEngine
1045 59
PythonProcess.cs
in Python/Product/Debugger/Debugger
1042 75
__init__.py
in Python/Product/PythonTools/ptvsd/repl
997 124
NativeMethods.cs
in Common/Product/SharedProject/Misc
939 7
TaskProvider.cs
in Python/Product/PythonTools/PythonTools/Intellisense
861 88
PythonInteractiveEvaluator.CommandProcessorThread.cs
in Python/Product/PythonTools/PythonTools/Repl
844 45
CustomCommand.cs
in Python/Product/PythonTools/PythonTools/Project
776 31
PythonCommonInteractiveEvaluator.cs
in Python/Product/PythonTools/PythonTools/Repl
757 41
ExpressionEvaluator.cs
in Python/Product/Debugger.Concord
740 18
TaskDialog.cs
in Python/Product/VSCommon/Infrastructure
712 19
proj
SharedProject.proj
in Common/Product/SharedProject
704 -
ProjectConfig.cs
in Common/Product/SharedProject
689 54
FileNode.cs
in Common/Product/SharedProject
675 36
Extensions.cs
in Python/Product/PythonTools/PythonTools
675 61
DjangoProject.cs
in Python/Product/Django/Project
654 26
NodeProperties.cs
in Common/Product/SharedProject
647 45
wfastcgi.py
in Python/Product/WFastCgi
647 45
PipPackageManager.cs
in Python/Product/VSInterpreters/PackageManager
628 25
TaskDialog.cs
in Common/Product/SharedProject
600 15
InterpreterListToolWindow.cs
in Python/Product/PythonTools/PythonTools/InterpreterList
585 44
MSBuildProjectInterpreterFactoryProvider.cs
in Python/Product/VSInterpreters/Interpreter
582 37
TraceManagerLocalHelper.cs
in Python/Product/Debugger.Concord
579 45
Connection.cs
in Python/Product/Ipc.Json
577 17
ProcessOutput.cs
in Python/Product/Common/Infrastructure
573 31
ProcessOutput.cs
in Python/Product/Cookiecutter/Shared/Infrastructure
571 31
PipExtension.xaml.cs
in Python/Product/EnvironmentsList
556 54
CondaPackageManager.cs
in Python/Product/VSInterpreters/PackageManager
549 26
CookiecutterClient.cs
in Python/Product/Cookiecutter/Model
544 40
ReplEditFilter.cs
in Python/Product/PythonTools/PythonTools/Repl
537 23
ProcessOutput.cs
in Common/Product/SharedProject
536 25
python.h
in Python/Product/VsPyProf
525 24
PythonDebugReplEvaluator.cs
in Python/Product/PythonTools/PythonTools/Repl
514 50
PathUtils.cs
in Python/Product/Common/Infrastructure
513 29
LocalComponent.cs
in Python/Product/Debugger.Concord
513 18
PathUtils.cs
in Python/Product/Cookiecutter/Shared/Infrastructure
496 28
PythonApi.cpp
in Python/Product/VsPyProf
485 10
Files With Most Units (Top 20)
File# lines# units
ProjectNode.cs
in Common/Product/SharedProject
4371 236
debugger.py
in Python/Product/PythonTools/ptvsd
1996 164
__init__.py
in Python/Product/PythonTools/ptvsd/repl
997 124
PythonProjectNode.cs
in Python/Product/PythonTools/PythonTools/Project
2092 111
ProjectAnalyzer.cs
in Python/Product/PythonTools/PythonTools/Intellisense
2139 101
TaskProvider.cs
in Python/Product/PythonTools/PythonTools/Intellisense
861 88
CommonProjectNode.cs
in Common/Product/SharedProject
1314 83
PythonProcess.cs
in Python/Product/Debugger/Debugger
1042 75
IntellisenseController.cs
in Python/Product/PythonTools/PythonTools/Intellisense
1072 74
HierarchyNode.cs
in Common/Product/SharedProject
1313 67
Extensions.cs
in Python/Product/PythonTools/PythonTools
675 61
AD7Engine.cs
in Python/Product/Debugger/Debugger/DebugEngine
1045 59
CoverageMapper.cs
in Python/Product/PythonTools/PythonTools/CodeCoverage
327 58
ProjectConfig.cs
in Common/Product/SharedProject
689 54
PipExtension.xaml.cs
in Python/Product/EnvironmentsList
556 54
PythonDebugReplEvaluator.cs
in Python/Product/PythonTools/PythonTools/Repl
514 50
ProjectNode.CopyPaste.cs
in Common/Product/SharedProject
1307 49
DiffMatchPatch.cs
in Python/Product/PythonTools/PythonTools/Editor/Formatting
1510 47
NodeProperties.cs
in Common/Product/SharedProject
647 45
TraceManagerLocalHelper.cs
in Python/Product/Debugger.Concord
579 45
Files With Long Lines (Top 20)

There are 690 files with lines longer than 120 characters. In total, there are 4262 long lines.

File# lines# units# long lines
ProjectNode.cs
in Common/Product/SharedProject
4371 236 169
xaml
ModernStyles.xaml
in Python/Product/PythonTools/PythonTools/Wpf
1703 - 159
xaml
Controls.xaml
in Python/Product/Cookiecutter/Shared/Wpf
1367 - 137
xaml
Controls.xaml
in Common/Product/SharedProject/Wpf
1296 - 127
ProjectAnalyzer.cs
in Python/Product/PythonTools/PythonTools/Intellisense
2139 101 68
ProjectNode.CopyPaste.cs
in Common/Product/SharedProject
1307 49 66
ExpressionEvaluator.cs
in Python/Product/Debugger.Concord
740 18 60
LocalComponent.cs
in Python/Product/Debugger.Concord
513 18 54
CookiecutterViewModel.cs
in Python/Product/Cookiecutter/ViewModel
1136 43 46
AsyncCompletionSource.cs
in Python/Product/PythonTools/PythonTools/Repl/Completion
456 17 45
PythonProjectNode.cs
in Python/Product/PythonTools/PythonTools/Project
2092 111 43
AssemblyInfo.cs
in Python/Product/Common/Properties
50 - 39
xaml
AddCondaEnvironmentControl.xaml
in Python/Product/PythonTools/PythonTools/Environments
360 - 39
PythonToolsPackage.cs
in Python/Product/PythonTools
430 14 39
ModernStyles.cs
in Python/Product/PythonTools/PythonTools/Wpf
181 1 35
CookiecutterClient.cs
in Python/Product/Cookiecutter/Model
544 40 31
DjangoProject.cs
in Python/Product/Django/Project
654 26 31
xaml
EnvironmentPathsExtension.xaml
in Python/Product/EnvironmentsList
434 - 30
xaml
ConfigurationExtension.xaml
in Python/Product/EnvironmentsList
167 - 29
Converters.cs
in Common/Product/SharedProject/Wpf/LambdaConverter
51 - 28