microsoft / vs-mef
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 153 files with 14,632 lines of code.
    • 2 very long files (2,139 lines of code)
    • 3 long files (1,677 lines of code)
    • 17 medium size files (5,364 lines of codeclsfd_ftr_w_mp_ins)
    • 11 small files (1,567 lines of code)
    • 120 very small files (3,885 lines of code)
14% | 11% | 36% | 10% | 26%
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
cs16% | 13% | 42% | 8% | 18%
ps10% | 0% | 0% | 27% | 72%
yml0% | 0% | 0% | 18% | 81%
targets0% | 0% | 0% | 0% | 100%
props0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/Microsoft.VisualStudio.Composition13% | 20% | 34% | 10% | 20%
src/Microsoft.VisualStudio.Composition/Configuration34% | 0% | 55% | 6% | 3%
src/Microsoft.VisualStudio.Composition/Reflection0% | 0% | 50% | 10% | 39%
src/Microsoft.VisualStudio.Composition.AppHost0% | 0% | 80% | 0% | 19%
tools0% | 0% | 0% | 48% | 51%
ROOT0% | 0% | 0% | 54% | 45%
azure-pipelines0% | 0% | 0% | 14% | 85%
azure-pipelines/artifacts0% | 0% | 0% | 0% | 100%
src/Microsoft.VisualStudio.Composition.Analyzers/tools0% | 0% | 0% | 0% | 100%
azure-pipelines/variables0% | 0% | 0% | 0% | 100%
src/Microsoft.VisualStudio.Composition.Analyzers0% | 0% | 0% | 0% | 100%
src/Microsoft.VisualStudio.Composition.AppHost/build0% | 0% | 0% | 0% | 100%
src0% | 0% | 0% | 0% | 100%
src/Microsoft.VisualStudio.Composition/Properties0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ExportProvider.cs
in src/Microsoft.VisualStudio.Composition
1123 68
SerializationContextBase.cs
in src/Microsoft.VisualStudio.Composition/Configuration
1016 51
ReflectionHelpers.cs
in src/Microsoft.VisualStudio.Composition
650 35
RuntimeExportProviderFactory+RuntimeExportProvider.cs
in src/Microsoft.VisualStudio.Composition
520 22
PartDiscovery.cs
in src/Microsoft.VisualStudio.Composition
507 33
CompositionConfiguration.cs
in src/Microsoft.VisualStudio.Composition
490 27
RuntimeComposition.cs
in src/Microsoft.VisualStudio.Composition
459 25
LazyMetadataWrapper.cs
in src/Microsoft.VisualStudio.Composition
408 32
CreateComposition.cs
in src/Microsoft.VisualStudio.Composition.AppHost
407 15
CachedCatalog.cs
in src/Microsoft.VisualStudio.Composition/Configuration
352 18
AttributedPartDiscovery.cs
in src/Microsoft.VisualStudio.Composition/Configuration
350 10
AttributedPartDiscoveryV1.cs
in src/Microsoft.VisualStudio.Composition/Configuration
350 8
CachedComposition.cs
in src/Microsoft.VisualStudio.Composition/Configuration
321 13
TypeRef.cs
in src/Microsoft.VisualStudio.Composition/Reflection
318 13
NetFxAdapters.cs
in src/Microsoft.VisualStudio.Composition/Configuration
271 20
ByValueEquality.cs
in src/Microsoft.VisualStudio.Composition
265 17
ContractNameServices.cs
in src/Microsoft.VisualStudio.Composition
258 18
ComposablePartDefinition.cs
in src/Microsoft.VisualStudio.Composition
245 8
Dgml.cs
in src/Microsoft.VisualStudio.Composition
237 19
ComposedPart.cs
in src/Microsoft.VisualStudio.Composition
229 7
ResolverExtensions.cs
in src/Microsoft.VisualStudio.Composition/Reflection
202 12
Utilities.cs
in src/Microsoft.VisualStudio.Composition
202 15
Install-DotNetSdk.ps1
in tools
199 -
MetadataViewGenerator.cs
in src/Microsoft.VisualStudio.Composition/Configuration
182 7
ComposableCatalog.cs
in src/Microsoft.VisualStudio.Composition
173 13
ImportMetadataViewConstraint.cs
in src/Microsoft.VisualStudio.Composition
161 7
ImportDefinitionBinding.cs
in src/Microsoft.VisualStudio.Composition
153 7
CollectionServices.cs
in src/Microsoft.VisualStudio.Composition
139 15
init.ps1
in root
136 -
official.yml
in azure-pipelines
107 -
MemberRef.cs
in src/Microsoft.VisualStudio.Composition/Reflection
107 7
ImportDefinition.cs
in src/Microsoft.VisualStudio.Composition
106 9
Resolver.cs
in src/Microsoft.VisualStudio.Composition
104 8
SkipClrVisibilityChecks.cs
in src/Microsoft.VisualStudio.Composition/Reflection
95 6
ExportDefinitionBinding.cs
in src/Microsoft.VisualStudio.Composition
91 5
PartCreationPolicyConstraint.cs
in src/Microsoft.VisualStudio.Composition
84 8
LazyServices.cs
in src/Microsoft.VisualStudio.Composition
82 7
MethodRef.cs
in src/Microsoft.VisualStudio.Composition/Reflection
82 6
Set-EnvVars.ps1
in tools
82 -
IndentingTextWriter.cs
in src/Microsoft.VisualStudio.Composition
75 9
ExportFactory.cs
in src/Microsoft.VisualStudio.Composition
74 6
release.yml
in azure-pipelines
69 -
Get-SymbolFiles.ps1
in azure-pipelines
68 -
build.yml
in azure-pipelines
65 -
CompressedUInt.cs
in src/Microsoft.VisualStudio.Composition
65 2
StrongAssemblyIdentity.cs
in src/Microsoft.VisualStudio.Composition/Reflection
65 6
props
Directory.Build.props
in root
62 -
secure-development-tools.yml
in azure-pipelines
62 -
targets
Microsoft.VisualStudio.Composition.AppHost.targets
in src/Microsoft.VisualStudio.Composition.AppHost/build
62 -
ExportDefinition.cs
in src/Microsoft.VisualStudio.Composition
62 6
Files With Most Units (Top 20)
File# lines# units
ExportProvider.cs
in src/Microsoft.VisualStudio.Composition
1123 68
SerializationContextBase.cs
in src/Microsoft.VisualStudio.Composition/Configuration
1016 51
ReflectionHelpers.cs
in src/Microsoft.VisualStudio.Composition
650 35
PartDiscovery.cs
in src/Microsoft.VisualStudio.Composition
507 33
LazyMetadataWrapper.cs
in src/Microsoft.VisualStudio.Composition
408 32
CompositionConfiguration.cs
in src/Microsoft.VisualStudio.Composition
490 27
RuntimeComposition.cs
in src/Microsoft.VisualStudio.Composition
459 25
RuntimeExportProviderFactory+RuntimeExportProvider.cs
in src/Microsoft.VisualStudio.Composition
520 22
NetFxAdapters.cs
in src/Microsoft.VisualStudio.Composition/Configuration
271 20
Dgml.cs
in src/Microsoft.VisualStudio.Composition
237 19
CachedCatalog.cs
in src/Microsoft.VisualStudio.Composition/Configuration
352 18
ContractNameServices.cs
in src/Microsoft.VisualStudio.Composition
258 18
ByValueEquality.cs
in src/Microsoft.VisualStudio.Composition
265 17
CreateComposition.cs
in src/Microsoft.VisualStudio.Composition.AppHost
407 15
CollectionServices.cs
in src/Microsoft.VisualStudio.Composition
139 15
Utilities.cs
in src/Microsoft.VisualStudio.Composition
202 15
ComposableCatalog.cs
in src/Microsoft.VisualStudio.Composition
173 13
CachedComposition.cs
in src/Microsoft.VisualStudio.Composition/Configuration
321 13
TypeRef.cs
in src/Microsoft.VisualStudio.Composition/Reflection
318 13
ResolverExtensions.cs
in src/Microsoft.VisualStudio.Composition/Reflection
202 12
Files With Long Lines (Top 20)

There are 90 files with lines longer than 120 characters. In total, there are 681 long lines.

File# lines# units# long lines
ExportProvider.cs
in src/Microsoft.VisualStudio.Composition
1123 68 70
AttributedPartDiscoveryV1.cs
in src/Microsoft.VisualStudio.Composition/Configuration
350 8 43
RuntimeExportProviderFactory+RuntimeExportProvider.cs
in src/Microsoft.VisualStudio.Composition
520 22 43
AttributedPartDiscovery.cs
in src/Microsoft.VisualStudio.Composition/Configuration
350 10 36
CompositionConfiguration.cs
in src/Microsoft.VisualStudio.Composition
490 27 35
PartDiscovery.cs
in src/Microsoft.VisualStudio.Composition
507 33 33
RuntimeComposition.cs
in src/Microsoft.VisualStudio.Composition
459 25 33
ReflectionHelpers.cs
in src/Microsoft.VisualStudio.Composition
650 35 27
TypeRef.cs
in src/Microsoft.VisualStudio.Composition/Reflection
318 13 17
CreateComposition.cs
in src/Microsoft.VisualStudio.Composition.AppHost
407 15 16
ComposableCatalog.cs
in src/Microsoft.VisualStudio.Composition
173 13 16
MetadataViewGenerator.cs
in src/Microsoft.VisualStudio.Composition/Configuration
182 7 16
ComposedPart.cs
in src/Microsoft.VisualStudio.Composition
229 7 15
SerializationContextBase.cs
in src/Microsoft.VisualStudio.Composition/Configuration
1016 51 15
init.ps1
in root
136 - 14
NetFxAdapters.cs
in src/Microsoft.VisualStudio.Composition/Configuration
271 20 14
Install-DotNetSdk.ps1
in tools
199 - 13
ComposablePartDefinition.cs
in src/Microsoft.VisualStudio.Composition
245 8 12
CachedCatalog.cs
in src/Microsoft.VisualStudio.Composition/Configuration
352 18 10
LazyMetadataWrapper.cs
in src/Microsoft.VisualStudio.Composition
408 32 10