microsoft / Recognizers-Text
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 9,310 units with 69,776 lines of code in units (42.8% of code).
    • 39 very long units (5,287 lines of code)
    • 167 long units (11,393 lines of code)
    • 599 medium size units (19,208 lines of code)
    • 612 small units (9,043 lines of code)
    • 7,893 very small units (24,845 lines of code)
7% | 16% | 27% | 12% | 35%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java7% | 14% | 22% | 12% | 42%
py6% | 17% | 26% | 11% | 37%
ts9% | 19% | 36% | 15% | 19%
js0% | 0% | 41% | 22% | 35%
cs0% | 0% | 72% | 19% | 8%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Java/libraries7% | 14% | 22% | 12% | 42%
Python/libraries6% | 17% | 26% | 11% | 37%
JavaScript/packages9% | 17% | 36% | 15% | 20%
Tools/src0% | 0% | 72% | 19% | 8%
Script/Utils0% | 0% | 0% | 43% | 56%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private DateTimeResolutionResult parseOneWordPeriod()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseDatePeriodParser.java
229 71 2
protected parseOneWordPeriod()
in JavaScript/packages/recognizers-date-time/src/dateTime/baseDatePeriod.ts
224 59 2
private parseSpecificTimeCases()
in JavaScript/packages/recognizers-date-time/src/dateTime/baseTimePeriod.ts
205 78 2
private DateTimeResolutionResult parseSpecificTimeCases()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseTimePeriodParser.java
194 74 2
protected parseImplicitDate()
in JavaScript/packages/recognizers-date-time/src/dateTime/chinese/dateConfiguration.ts
173 53 2
public DateTimeParseResult parse()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseMergedDateTimeParser.java
172 63 2
private DateTimeResolutionResult parseImplicitDate()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseDateParser.java
170 25 2
protected DateTimeResolutionResult parseSpecificTimeOfDay()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseDateTimePeriodParser.java
163 35 2
protected parseImplicitDate()
in JavaScript/packages/recognizers-date-time/src/dateTime/baseDate.ts
159 37 2
def _parse_one_word_period()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/base_dateperiod.py
155 46 3
def parse()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/base_merged.py
153 92 3
def parse_specific_time()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/base_timeperiod.py
153 74 3
public List extract()
in Java/libraries/recognizers-text-number-with-unit/src/main/java/com/microsoft/recognizers/text/numberwithunit/extractors/NumberWithUnitExtractor.java
151 48 1
def parse_implicit_date()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/chinese/date_parser.py
140 51 3
private match2Time()
in JavaScript/packages/recognizers-date-time/src/dateTime/baseTime.ts
138 34 2
protected parseSpecificTimeOfDay()
in JavaScript/packages/recognizers-date-time/src/dateTime/baseDateTimePeriod.ts
137 40 2
private DateTimeResolutionResult match2Time()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseTimeParser.java
135 31 2
def parse_specific_time_of_day()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/base_datetimeperiod.py
130 42 3
def parse_implicit_date()
in Python/libraries/recognizers-date-time/recognizers_date_time/date_time/base_date.py
127 29 3
private DateTimeResolutionResult parseDuration()
in Java/libraries/recognizers-text-date-time/src/main/java/com/microsoft/recognizers/text/datetime/parsers/BaseDatePeriodParser.java
121 29 2