microsoft / PSRule
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 219 files with 26,791 lines of code.
    • 2 very long files (3,121 lines of code)
    • 11 long files (6,716 lines of code)
    • 21 medium size files (6,035 lines of codeclsfd_ftr_w_mp_ins)
    • 36 small files (4,960 lines of code)
    • 149 very small files (5,959 lines of code)
11% | 25% | 22% | 18% | 22%
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
psm194% | 0% | 0% | 5% | 0%
cs4% | 26% | 23% | 19% | 25%
ps1xml0% | 100% | 0% | 0% | 0%
html0% | 0% | 93% | 0% | 6%
ps10% | 0% | 60% | 31% | 8%
yml0% | 0% | 0% | 100% | 0%
psd10% | 0% | 0% | 80% | 19%
yaml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/PSRule75% | 21% | 0% | 3% | 0%
src/PSRule/Definitions36% | 0% | 11% | 10% | 41%
src/PSRule/Runtime0% | 73% | 0% | 10% | 15%
src/PSRule/Common0% | 57% | 14% | 16% | 11%
src/PSRule/Host0% | 70% | 0% | 29% | 0%
src/PSRule/Pipeline0% | 9% | 51% | 22% | 17%
src/PSRule/Parser0% | 0% | 71% | 13% | 15%
src/PSRule/Configuration0% | 0% | 19% | 31% | 49%
overrides0% | 0% | 93% | 0% | 6%
src/PSRule.Benchmark0% | 0% | 49% | 45% | 5%
ROOT0% | 0% | 63% | 25% | 11%
src/PSRule/Commands0% | 0% | 0% | 37% | 62%
src/PSRule/Rules0% | 0% | 0% | 37% | 62%
src/PSRule.Badges0% | 0% | 0% | 53% | 46%
src/PSRule/Badges0% | 0% | 0% | 100% | 0%
Multiple Classifications0% | 0% | 0% | 100% | 0%
scripts0% | 0% | 0% | 100% | 0%
src/PSRule/Data0% | 0% | 0% | 0% | 100%
src/PSRule.BuildTool0% | 0% | 0% | 0% | 100%
src/PSRule/Annotations0% | 0% | 0% | 0% | 100%
src/PSRule/en-AU0% | 0% | 0% | 0% | 100%
src/PSRule/en-GB0% | 0% | 0% | 0% | 100%
src/PSRule/en-US0% | 0% | 0% | 0% | 100%
src/PSRule.Badges/Properties0% | 0% | 0% | 0% | 100%
src/PSRule/Properties0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
PSRule.psm1
in src/PSRule
2112 -
LanguageExpressions.cs
in src/PSRule/Definitions/Expressions
1009 77
Assert.cs
in src/PSRule/Runtime
834 63
RunspaceContext.cs
in src/PSRule/Runtime
681 62
YamlConverters.cs
in src/PSRule/Common
660 47
HostHelper.cs
in src/PSRule/Host
643 24
JsonConverters.cs
in src/PSRule/Common
619 44
PSRule.Format.ps1xml
in src/PSRule
592 -
AssertFormatter.cs
in src/PSRule/Pipeline/Formatters
573 52
SemanticVersion.cs
in src/PSRule/Runtime
564 57
PathExpressionBuilder.cs
in src/PSRule/Runtime/ObjectPath
522 37
PathTokenizer.cs
in src/PSRule/Runtime/ObjectPath
518 48
ExpressionHelpers.cs
in src/PSRule/Common
510 36
OptionContext.cs
in src/PSRule/Pipeline
404 27
MarkdownStream.cs
in src/PSRule/Parser
379 30
PipelineBuilder.cs
in src/PSRule/Pipeline
355 30
PathFilter.cs
in src/PSRule/Pipeline
353 33
SourcePipeline.cs
in src/PSRule/Pipeline
326 26
Resource.cs
in src/PSRule/Definitions
325 22
PSRuleOption.cs
in src/PSRule/Configuration
323 32
home.html
in overrides
312 -
InvokeRulePipeline.cs
in src/PSRule/Pipeline
306 14
PipelineReciever.cs
in src/PSRule/Pipeline
295 18
PSRule.cs
in src/PSRule.Benchmark
292 36
MarkdownReader.cs
in src/PSRule/Parser
290 15
pipeline.build.ps1
in root
283 -
TokenStream.cs
in src/PSRule/Parser
254 28
PipelineContext.cs
in src/PSRule/Pipeline
244 16
BaselineYamlSerializationMapper.cs
in src/PSRule/Common
224 10
BaselineJsonSerializationMapper.cs
in src/PSRule/Common
223 10
Exceptions.cs
in src/PSRule/Pipeline
219 50
MarkdownOutputWriter.cs
in src/PSRule/Pipeline/Output
216 19
PipelineWriter.cs
in src/PSRule/Pipeline
207 25
PipelineLogger.cs
in src/PSRule/Pipeline
205 30
AssertPipeline.cs
in src/PSRule/Pipeline
187 14
PathBuilder.cs
in src/PSRule/Pipeline
187 18
PSRule.cs
in src/PSRule/Runtime
184 12
OutputOption.cs
in src/PSRule/Configuration
176 8
RuleLexer.cs
in src/PSRule/Parser
170 10
ResourceId.cs
in src/PSRule/Definitions
168 22
RuleLanguageAst.cs
in src/PSRule/Host
159 16
HostPipelineWriter.cs
in src/PSRule/Pipeline/Output
159 20
TargetBinder.cs
in src/PSRule/Pipeline
158 14
NUnit3OutputWriter.cs
in src/PSRule/Pipeline/Output
153 8
LanguageScope.cs
in src/PSRule/Runtime
152 18
BadgeBuilder.cs
in src/PSRule/Badges
151 13
SuppressionFilter.cs
in src/PSRule/Rules
146 11
Benchmark.Within.Rule.ps1
in src/PSRule.Benchmark
145 -
GetRuleHelpPipeline.cs
in src/PSRule/Pipeline
144 14
KeyMapDictionary.cs
in src/PSRule/Common
141 18
Files With Most Units (Top 20)
File# lines# units
LanguageExpressions.cs
in src/PSRule/Definitions/Expressions
1009 77
Assert.cs
in src/PSRule/Runtime
834 63
RunspaceContext.cs
in src/PSRule/Runtime
681 62
SemanticVersion.cs
in src/PSRule/Runtime
564 57
AssertFormatter.cs
in src/PSRule/Pipeline/Formatters
573 52
Exceptions.cs
in src/PSRule/Pipeline
219 50
PathTokenizer.cs
in src/PSRule/Runtime/ObjectPath
518 48
YamlConverters.cs
in src/PSRule/Common
660 47
JsonConverters.cs
in src/PSRule/Common
619 44
PathExpressionBuilder.cs
in src/PSRule/Runtime/ObjectPath
522 37
PSRule.cs
in src/PSRule.Benchmark
292 36
ExpressionHelpers.cs
in src/PSRule/Common
510 36
PathFilter.cs
in src/PSRule/Pipeline
353 33
PSRuleOption.cs
in src/PSRule/Configuration
323 32
MarkdownStream.cs
in src/PSRule/Parser
379 30
PipelineBuilder.cs
in src/PSRule/Pipeline
355 30
PipelineLogger.cs
in src/PSRule/Pipeline
205 30
TokenStream.cs
in src/PSRule/Parser
254 28
OptionContext.cs
in src/PSRule/Pipeline
404 27
SourcePipeline.cs
in src/PSRule/Pipeline
326 26
Files With Long Lines (Top 20)

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

File# lines# units# long lines
LanguageExpressions.cs
in src/PSRule/Definitions/Expressions
1009 77 26
PSRule.psm1
in src/PSRule
2112 - 21
PathExpressionBuilder.cs
in src/PSRule/Runtime/ObjectPath
522 37 20
OptionContext.cs
in src/PSRule/Pipeline
404 27 18
PipelineBuilder.cs
in src/PSRule/Pipeline
355 30 17
YamlConverters.cs
in src/PSRule/Common
660 47 15
ExpressionHelpers.cs
in src/PSRule/Common
510 36 14
InvokeRulePipeline.cs
in src/PSRule/Pipeline
306 14 14
Assert.cs
in src/PSRule/Runtime
834 63 14
JsonConverters.cs
in src/PSRule/Common
619 44 11
Host.cs
in src/PSRule/Host
115 8 10
AssertFormatter.cs
in src/PSRule/Pipeline/Formatters
573 52 9
HostHelper.cs
in src/PSRule/Host
643 24 8
NUnit3OutputWriter.cs
in src/PSRule/Pipeline/Output
153 8 8
TargetBinder.cs
in src/PSRule/Pipeline
158 14 8
SemanticVersion.cs
in src/PSRule/Runtime
564 57 8
RuleLanguageAst.cs
in src/PSRule/Host
159 16 7
PipelineContext.cs
in src/PSRule/Pipeline
244 16 7
SourcePipeline.cs
in src/PSRule/Pipeline
326 26 7
PathTokenizer.cs
in src/PSRule/Runtime/ObjectPath
518 48 7