microsoft / BotFramework-DirectLine-DotNet
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 121 units with 904 lines of code in units (30.8% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 8 medium size units (236 lines of code)
    • 16 small units (235 lines of code)
    • 97 very small units (433 lines of code)
0% | 0% | 26% | 25% | 47%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 0% | 26% | 25% | 47%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
libraries/Streaming0% | 0% | 67% | 10% | 21%
libraries/Client0% | 0% | 14% | 26% | 58%
libraries0% | 0% | 12% | 53% | 34%
libraries/Client/Models0% | 0% | 0% | 20% | 79%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public override async Task ProcessRequestAsync()
in libraries/Streaming/DirectLineRequestHandler.cs
36 10 4
public async Task PostActivityAsync()
in libraries/Streaming/StreamingConversations.cs
34 7 3
public async Task UploadAttachmentsAsync()
in libraries/Streaming/StreamingConversations.cs
34 6 3
private void Initialize()
in libraries/Client/DirectLineClient.cs
32 1 0
public async Task StartConversationAsync()
in libraries/Streaming/StreamingConversations.cs
28 5 2
public async Task UpdateActivityAsync()
in libraries/Streaming/StreamingConversations.cs
25 3 4
public static string GetActivityType()
in libraries/ActivityEx.cs
24 6 1
public async Task ReconnectToConversationAsync()
in libraries/Streaming/StreamingConversations.cs
23 3 3
public bool HasContent()
in libraries/ActivityEx.cs
20 6 0
public Activity CreateReply()
in libraries/ActivityEx.cs
17 1 2
public DirectLineClient()
in libraries/Client/DirectLineClient.cs
17 4 3
public DirectLineClient()
in libraries/Client/DirectLineClient.cs
17 4 4
17 3 1
16 3 1
private static async Task ReadBuffer()
in libraries/Extensions.cs
16 2 1
private static async Task ReadBuffer()
in libraries/Streaming/DirectLineRequestHandler.cs
16 2 1
public static ObjectT HandleError()
in libraries/ErrorHandling.cs
14 3 1
public AudioCard()
in libraries/Client/Models/AudioCard.cs
13 1 1
public VideoCard()
in libraries/Client/Models/VideoCard.cs
13 1 1
public DirectLineClient()
in libraries/Client/DirectLineClient.cs
12 3 2