microsoft / sarif-sdk
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 4,627 units with 72,878 lines of code in units (59.5% of code).
    • 51 very long units (9,991 lines of code)
    • 176 long units (11,540 lines of code)
    • 676 medium size units (20,767 lines of code)
    • 1,054 small units (15,493 lines of code)
    • 2,670 very small units (15,087 lines of code)
13% | 15% | 28% | 21% | 20%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs12% | 16% | 30% | 19% | 20%
c31% | 4% | 6% | 36% | 21%
js89% | 0% | 0% | 0% | 10%
java0% | 100% | 0% | 0% | 0%
cpp0% | 0% | 2% | 36% | 60%
cxx0% | 0% | 0% | 18% | 81%
pl0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/Sarif19% | 18% | 29% | 16% | 16%
src/Test.FunctionalTests.Sarif26% | 7% | 7% | 32% | 26%
src/Sarif.Converters11% | 20% | 35% | 18% | 14%
src/Test.UnitTests.Sarif3% | 12% | 35% | 25% | 23%
src/ESLint.Formatter89% | 0% | 0% | 0% | 10%
src/WorkItems18% | 14% | 23% | 14% | 27%
src/Sarif.Driver0% | 21% | 35% | 23% | 19%
src/Test.UnitTests.Sarif.Converters0% | 14% | 20% | 20% | 45%
src/Sarif.Multitool.Library0% | 11% | 31% | 29% | 27%
src/Test.UnitTests.Sarif.Driver0% | 11% | 41% | 31% | 15%
src/Sarif.WorkItems0% | 35% | 40% | 13% | 11%
src/Test.Utilities.Sarif0% | 19% | 21% | 23% | 35%
src/Test.UnitTests.Sarif.WorkItems0% | 20% | 36% | 26% | 15%
src/Test.UnitTests.Sarif.Multitool.Library0% | 11% | 48% | 20% | 20%
src/Sarif.Multitool0% | 75% | 0% | 0% | 24%
src/Test.EndToEnd.Baselining0% | 0% | 18% | 53% | 28%
src/Test.UnitTests.Sarif.Multitool0% | 0% | 29% | 14% | 55%
src/Test.UnitTests.WorkItems0% | 0% | 0% | 56% | 43%
src/Test.Plugins0% | 0% | 0% | 0% | 100%
src/TypeScript0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
void sdv_main()
in src/Test.FunctionalTests.Sarif/v1/ConverterTestData/StaticDriverVerifier/src/sdv/sdv-harness.c
704 94 0
void sdv_main()
in src/Test.FunctionalTests.Sarif/v2/ConverterTestData/StaticDriverVerifier/src/sdv/sdv-harness.c
704 94 0
private Result ConstructFormsWithoutAutocompletePreventionResult()
in src/Sarif.Converters/ContrastSecurityConverter.cs
466 21 1
public bool Equals()
in src/Sarif/Autogenerated/RunEqualityComparer.cs
378 124 2
public bool Equals()
in src/Sarif/Autogenerated/ResultEqualityComparer.cs
331 107 2
public bool Equals()
in src/Sarif/Autogenerated/ExternalPropertiesEqualityComparer.cs
293 96 2
public bool Equals()
in src/Sarif/Autogenerated/ExternalPropertyFileReferencesEqualityComparer.cs
277 92 2
public int GetHashCode()
in src/Sarif/Autogenerated/RunEqualityComparer.cs
251 65 1
protected virtual void Init()
in src/Sarif/Autogenerated/ExternalProperties.cs
234 46 21
public bool Equals()
in src/Sarif/Autogenerated/InvocationEqualityComparer.cs
230 72 2
protected virtual void Init()
in src/Sarif/Autogenerated/ExternalPropertyFileReferences.cs
227 44 17
public bool Equals()
in src/Sarif/Autogenerated/ToolComponentEqualityComparer.cs
224 69 2
private void Init()
in src/Sarif/Autogenerated/Result.cs
221 44 30
private void Init()
in src/Sarif/NotYetAutoGenerated/Result.cs
221 44 30
public int GetHashCode()
in src/Sarif/Autogenerated/ResultEqualityComparer.cs
218 54 1
void sdv_main()
in src/Test.FunctionalTests.Sarif/v1/ConverterTestData/StaticDriverVerifier/src/sdv/sdv-harness.c
214 2 0
void sdv_main()
in src/Test.FunctionalTests.Sarif/v2/ConverterTestData/StaticDriverVerifier/src/sdv/sdv-harness.c
214 2 0
public int GetHashCode()
in src/Sarif/Autogenerated/ExternalPropertiesEqualityComparer.cs
193 50 1
public int GetHashCode()
in src/Sarif/Autogenerated/ExternalPropertyFileReferencesEqualityComparer.cs
180 47 1
public static SarifLog UpdateToCurrentVersion()
in src/Sarif/Writers/PrereleaseCompatibilityTransformer.cs
177 34 3