microsoft / azure-pipelines-language-server
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 204 units with 3,121 lines of code in units (81.7% of code).
    • 3 very long units (558 lines of code)
    • 8 long units (572 lines of code)
    • 25 medium size units (793 lines of code)
    • 31 small units (463 lines of code)
    • 137 very small units (735 lines of code)
17% | 18% | 25% | 14% | 23%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
ts17% | 18% | 25% | 14% | 23%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
language-service/src/parser34% | 16% | 12% | 11% | 24%
language-service/src/services9% | 28% | 26% | 14% | 20%
language-service/src/utils0% | 0% | 41% | 27% | 31%
language-server/src0% | 0% | 58% | 12% | 29%
language-service/src0% | 0% | 100% | 0% | 0%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public validate()
in language-service/src/parser/jsonParser.ts
304 66 3
public validate()
in language-service/src/parser/jsonParser.ts
128 39 3
public doComplete()
in language-service/src/services/yamlCompletion.ts
126 37 3
public resolveSchemaContent()
in language-service/src/services/jsonSchemaService.ts
99 23 2
public doHover()
in language-service/src/services/yamlHover.ts
97 34 3
function recursivelyBuildAst()
in language-service/src/parser/yamlParser.ts
77 16 2
public validate()
in language-service/src/parser/jsonParser.ts
69 17 3
private getValueCompletions()
in language-service/src/services/yamlCompletion.ts
65 31 7
public validate()
in language-service/src/parser/jsonParser.ts
61 20 3
private getInsertTextForProperty()
in language-service/src/services/yamlCompletion.ts
53 20 4
public doValidation()
in language-service/src/services/yamlValidation.ts
51 10 2
private getPropertyCompletions()
in language-service/src/services/yamlCompletion.ts
49 15 6
export function equals()
in language-service/src/utils/objects.ts
49 18 2
message: localize()
in language-service/src/services/yamlValidation.ts
48 3 2
protected getFirstPropertyMatches()
in language-service/src/parser/jsonParser.ts
45 11 1
private static _asFormatted()
in language-service/src/utils/uri.ts
45 13 2
function updateConfiguration()
in language-server/src/server.ts
39 14 0
export function getLanguageService()
in language-service/src/yamlLanguageService.ts
36 5 5
function addItemsToArrayNode()
in language-service/src/parser/yamlParser.ts
35 11 2
export function completionHelper()
in language-service/src/utils/yamlServiceUtils.ts
35 9 2