microsoft / m365-sample-connector-csharp-aspnet
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 171 units with 1,961 lines of code in units (50.2% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (113 lines of code)
    • 24 medium size units (680 lines of code)
    • 42 small units (592 lines of code)
    • 103 very small units (576 lines of code)
0% | 5% | 34% | 30% | 29%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 6% | 35% | 27% | 30%
js0% | 0% | 22% | 56% | 21%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Facebook/FacebookSDK0% | 15% | 39% | 26% | 18%
Facebook/ConnectorTest0% | 15% | 34% | 42% | 7%
Facebook/WebApp/Controllers0% | 0% | 54% | 22% | 23%
Facebook/WebJob0% | 0% | 59% | 14% | 26%
Common/ConnectorSDK0% | 0% | 50% | 0% | 49%
Facebook/WebApp/ClientJs0% | 0% | 22% | 56% | 21%
Facebook/WebApp/Auth0% | 0% | 62% | 21% | 16%
Facebook/WebApp/App_Start0% | 0% | 44% | 34% | 21%
Common/ConnectorCommon0% | 0% | 12% | 20% | 67%
Facebook/WebApp/Extensions0% | 0% | 0% | 70% | 29%
Common/ConnectorCommon/Workload0% | 0% | 0% | 39% | 60%
Facebook/WebApp/ErrorHandler0% | 0% | 0% | 52% | 47%
Facebook/WebApp0% | 0% | 0% | 39% | 60%
Common/ConnectorCommon/SourceProvider0% | 0% | 0% | 0% | 100%
Common/ConnectorCommon/Tables0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private async Task CreatePostItem()
in Facebook/FacebookSDK/JobProcessorFB.cs
57 7 5
public async Task TestGatherAllPages()
in Facebook/ConnectorTest/FacebookProviderTest.cs
56 1 0
$scope.saveJob = function()
in Facebook/WebApp/ClientJs/NativeConnectorSetupController.js
42 9 0
private async Task CreateCommentItem()
in Facebook/FacebookSDK/JobProcessorFB.cs
39 5 5
private async Task CreateReplyItem()
in Facebook/FacebookSDK/JobProcessorFB.cs
38 5 6
public static async Task AuthenticateRequestAsync()
in Facebook/WebApp/Auth/AuthenticateRequest.cs
35 9 1
public async Task ScheduleTask()
in Facebook/WebApp/Controllers/DataIngestionController.cs
35 4 1
public IHttpHandler GetHttpHandler()
in Facebook/WebApp/App_Start/DefaultRouteHandler.cs
34 6 1
private async Task SendDataAsync()
in Facebook/WebApp/Controllers/FbPageWebhookController.cs
33 6 1
public async Task Execute()
in Facebook/WebJob/DataIngestion.cs
32 5 1
public async Task DownloadDataAndTransformUnitTest()
in Facebook/ConnectorTest/JobProcessorFBTest.cs
31 3 0
public async Task Configure()
in Facebook/WebApp/Controllers/ConfigurationController.cs
30 6 1
public async Task OnWebhookEvent()
in Common/ConnectorSDK/EventApiClient.cs
29 1 5
26 4 0
public async Task ErrorsFBUnitTest()
in Facebook/ConnectorTest/JobProcessorFBTest.cs
25 2 0
private static async Task GetResultFromResponse()
in Common/ConnectorCommon/RestApiRepository.cs
24 3 1
public async Task OnDownloadCompleteAsync()
in Common/ConnectorSDK/EventApiClient.cs
24 1 5
public async Task FetchUpdatedPostsUnitTest()
in Facebook/ConnectorTest/JobProcessorFBTest.cs
24 1 0
private async Task HandleComment()
in Facebook/FacebookSDK/JobProcessorFB.cs
24 6 6
public async Task Update()
in Facebook/WebApp/Controllers/DataSourceSetupController.cs
24 2 1