microsoft / PhoneticMatching
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 236 units with 2,275 lines of code in units (28.7% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (56 lines of code)
    • 23 medium size units (710 lines of code)
    • 45 small units (624 lines of code)
    • 167 very small units (885 lines of code)
0% | 2% | 31% | 27% | 38%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
hpp0% | 21% | 55% | 10% | 12%
cs0% | 0% | 24% | 30% | 44%
ts0% | 0% | 71% | 20% | 8%
cpp0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/maluuba/speech0% | 21% | 56% | 11% | 11%
src/cs/Microsoft.PhoneticMatching0% | 0% | 37% | 40% | 21%
src/cs/PhoneticMatchingPerfTests0% | 0% | 85% | 0% | 14%
src/cs/PhoneticMatchingTests0% | 0% | 7% | 24% | 67%
ts/matchers0% | 0% | 72% | 27% | 0%
ts/nlp0% | 0% | 71% | 0% | 28%
src/maluuba0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
static void New()
in src/maluuba/speech/nodejs/fuzzymatcher.hpp
56 11 1
private void AccuracyTest()
in src/cs/PhoneticMatchingPerfTests/FuzzyMatcherPerfTester.cs
44 10 3
static void KNearestWithin()
in src/maluuba/speech/nodejs/fuzzymatcher.hpp
43 6 1
internal void Run()
in src/cs/PhoneticMatchingPerfTests/FuzzyMatcherPerfTester.cs
41 5 2
public EnContactMatcher()
in src/cs/Microsoft.PhoneticMatching/Matchers/ContactMatcher/EnContactMatcher.cs
38 7 3
public EnPlaceMatcher()
in src/cs/Microsoft.PhoneticMatching/Matchers/PlaceMatcher/EnPlaceMatcher.cs
38 6 3
static void NearestWithin()
in src/maluuba/speech/nodejs/fuzzymatcher.hpp
37 5 1
static void KNearest()
in src/maluuba/speech/nodejs/fuzzymatcher.hpp
37 5 1
private Pronounceable GetPronounceableAt()
in src/cs/Microsoft.PhoneticMatching/Matchers/FuzzyMatcher/AbstractFuzzyMatcher.cs
36 8 1
public Phone()
in src/cs/Microsoft.PhoneticMatching/Phone.cs
33 2 9
public void GivenPronunciationFromArpabet_ExpectPositiveMatch()
in src/cs/PhoneticMatchingTests/EnPronunciationTests.cs
32 1 0
private void InitializeManaged()
in src/cs/Microsoft.PhoneticMatching/Matchers/FuzzyMatcher/AbstractFuzzyMatcher.cs
31 4 4
static void Nearest()
in src/maluuba/speech/nodejs/fuzzymatcher.hpp
30 4 1
protected IList SelectMatches()
in src/cs/Microsoft.PhoneticMatching/Matchers/BaseMatcher.cs
28 6 1
protected static StringBuilder CallNative()
in src/cs/Microsoft.PhoneticMatching/NativeResourceWrapper.cs
28 6 1
private addNameVariations()
in ts/matchers/placematcher.ts
28 6 4
public IList Tokenize()
in src/cs/Microsoft.PhoneticMatching/Nlp/Tokenizer/SplittingTokenizer.cs
27 5 1
constructor()
in ts/nlp/preprocessor.ts
27 1 0
public double Distance()
in src/cs/Microsoft.PhoneticMatching/Distance/EnHybridDistance.cs
24 7 2
protected override IntPtr CreateNativeResources()
in src/cs/Microsoft.PhoneticMatching/Matchers/FuzzyMatcher/AbstractFuzzyMatcher.cs
23 2 1