microsoft / sarif-visualstudio-extension
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 626 units with 8,098 lines of code in units (47.2% of code).
    • 1 very long units (143 lines of code)
    • 9 long units (554 lines of code)
    • 96 medium size units (2,960 lines of code)
    • 169 small units (2,476 lines of code)
    • 351 very small units (1,965 lines of code)
1% | 6% | 36% | 30% | 24%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs1% | 6% | 36% | 30% | 24%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/Sarif.Viewer.VisualStudio.Core1% | 7% | 37% | 30% | 22%
src/Sarif.Sarifer.Core0% | 0% | 30% | 33% | 36%
src/Sarif.Viewer.VisualStudio.Interop0% | 0% | 0% | 45% | 54%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public static async Task ProcessLogFileCoreAsync()
in src/Sarif.Viewer.VisualStudio.Core/ErrorList/ErrorListService.cs
143 25 5
internal void RemapFilePath()
in src/Sarif.Viewer.VisualStudio.Core/Models/SarifErrorListItem.cs
81 19 2
public bool NavigateTo()
in src/Sarif.Viewer.VisualStudio.Core/ResultTextMarker.cs
72 17 2
public bool TryResolveFilePath()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
67 14 5
private int WriteRunToErrorList()
in src/Sarif.Viewer.VisualStudio.Core/ErrorList/ErrorListService.cs
64 13 3
private static List GetMessageInlinesHelper()
in src/Sarif.Viewer.VisualStudio.Core/SdkUiUtilities.cs
58 11 2
internal static async Task ProcessSarifLogAsync()
in src/Sarif.Viewer.VisualStudio.Core/ErrorList/ErrorListService.cs
54 12 4
internal void PopulateAdditionalPropertiesIfNot()
in src/Sarif.Viewer.VisualStudio.Core/Models/SarifErrorListItem.cs
54 18 0
internal string CreateFileFromContents()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
52 13 2
internal void AddSuppressionToSarifLog()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
52 12 1
public static IProjectionBuffer CreateProjectionBufferWithoutIndentation()
in src/Sarif.Viewer.VisualStudio.Core/Fixes/ProjectionBufferFactoryServiceExtensions.cs
50 9 5
internal static string GetRelativePath()
in src/Sarif.Viewer.VisualStudio.Core/SdkUiUtilities.cs
49 8 2
internal string HandleHttpFileDownloadRequest()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
47 8 3
internal bool TryResolveFilePathFromSourceControl()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
45 10 5
internal static List Convert()
in src/Sarif.Viewer.VisualStudio.Core/CodeFlowToTreeConverter.cs
45 8 4
internal static uint FindDocument()
in src/Sarif.Viewer.VisualStudio.Core/SdkUiUtilities.cs
45 7 2
public static void TrackEvent()
in src/Sarif.Viewer.VisualStudio.Core/Telemetry/TelemetryProvider.cs
45 1 1
internal bool VerifyFileWithArtifactHash()
in src/Sarif.Viewer.VisualStudio.Core/CodeAnalysisResultManager.cs
44 9 6
internal void OpenLogFile()
in src/Sarif.Viewer.VisualStudio.Core/Models/SarifErrorListItem.cs
44 6 0
public static bool TryGetRule()
in src/Sarif.Viewer.VisualStudio.Core/Sarif/Run.Extensions.cs
44 9 3