microsoft / CoreTemplateStudio
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 717 units with 8,327 lines of code in units (63.8% of code).
    • 0 very long units (0 lines of code)
    • 4 long units (236 lines of code)
    • 84 medium size units (2,525 lines of code)
    • 220 small units (3,179 lines of code)
    • 409 very small units (2,387 lines of code)
0% | 2% | 30% | 38% | 28%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 2% | 30% | 38% | 28%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
code/src/CoreTemplateStudio/CoreTemplateStudio.Core0% | 2% | 31% | 38% | 27%
code/src/CoreTemplateStudio/CoreTemplateStudio.Cli0% | 7% | 14% | 28% | 49%
code/tools/WtsPackagingTool0% | 0% | 48% | 38% | 12%
code/tools/WtsTelemetry/Services0% | 0% | 19% | 58% | 22%
code/tools/WtsTelemetry/Helpers0% | 0% | 31% | 15% | 52%
code/src/Utilities/Services0% | 0% | 18% | 42% | 38%
code/tools/WtsTelemetry/Models0% | 0% | 0% | 58% | 41%
code/tools/WtsTelemetry0% | 0% | 0% | 100% | 0%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public MergeResult Merge()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/PostActions/Catalog/Merge/MergeHandler.cs
67 14 2
internal override void ExecuteInternal()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/PostActions/Catalog/Merge/MergeResourceDictionaryPostAction.cs
58 9 0
private bool ProcessCommand()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Cli/App.cs
57 3 1
internal static void ValidateUserSelection()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Gen/GenController.cs
54 12 2
private TempGenerationResult CompareTempGenerationWithProject()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Gen/NewItemGenController.cs
50 8 0
public override string ToString()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Gen/UserSelection.cs
50 10 0
public IEnumerable GetRequirements()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Templates/TemplatesRepository.cs
50 15 2
public IEnumerable GetExclusions()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Templates/TemplatesRepository.cs
50 15 2
public async Task ProcessAsync()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Cli/Services/SyncService.cs
49 3 4
private async Task TrackProjectAsync()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Diagnostics/TelemetryTracker.cs
49 8 9
internal static void Prepare()
in code/tools/WtsPackagingTool/PackageWorker.cs
49 10 8
private MergeMode GetMergeMode()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/PostActions/Catalog/Merge/MergeHandler.cs
48 11 3
public IEnumerable GetDependencies()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Templates/TemplatesRepository.cs
46 15 3
public async Task TrackNewItemAsync()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Diagnostics/TelemetryTracker.cs
43 7 7
public IEnumerable GetLayoutTemplates()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Templates/TemplatesRepository.cs
43 14 1
private static string Transform()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Casing/StringCasingExtensions.cs
41 10 3
private static List AddInCompositionTemplates()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Gen/GenComposer.cs
41 8 3
public ItemNameService()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Naming/ItemNameService.cs
41 9 2
public static bool SortNamespaceReferences()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/PostActions/Catalog/SortNamespaces/ListStringExtensions.cs
40 9 2
private IEnumerable GetMetadataInfo()
in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/Templates/TemplatesRepository.cs
40 8 1