microsoft / PowerBI-CSharp
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 172 units with 1,066 lines of code in units (53.4% of code).
    • 0 very long units (0 lines of code)
    • 0 long units (0 lines of code)
    • 5 medium size units (136 lines of code)
    • 7 small units (113 lines of code)
    • 160 very small units (817 lines of code)
0% | 0% | 12% | 10% | 76%
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% | 12% | 10% | 76%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
sdk/PowerBI.Api/Extensions0% | 0% | 8% | 7% | 83%
sdk/PowerBI.Api/Imports0% | 0% | 61% | 17% | 20%
sdk/PowerBI.Api/Extensions/Models0% | 0% | 0% | 18% | 81%
sdk/PowerBI.Api/Extensions/Models/Credentials0% | 0% | 0% | 37% | 62%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private async Task UploadFileToBlob()
in sdk/PowerBI.Api/Imports/ImportsOperations.cs
37 2 3
private async Task SendRequest()
in sdk/PowerBI.Api/Imports/ImportsOperations.cs
28 5 7
internal static string Encrypt()
in sdk/PowerBI.Api/Extensions/Asymmetric1024KeyEncryptionHelper.cs
26 6 3
private static bool CryptographicEquals()
in sdk/PowerBI.Api/Extensions/AuthenticatedEncryption.cs
24 4 5
internal static string Encrypt()
in sdk/PowerBI.Api/Extensions/AsymmetricHigherKeyEncryptionHelper.cs
21 1 3
private static HMAC GetMac()
in sdk/PowerBI.Api/Extensions/AuthenticatedEncryption.cs
20 4 2
private async Task VerifyStatusCode()
in sdk/PowerBI.Api/Imports/ImportsOperations.cs
19 4 2
private static SymmetricAlgorithm GetCipher()
in sdk/PowerBI.Api/Extensions/AuthenticatedEncryption.cs
17 2 2
public AsymmetricKeyEncryptor()
in sdk/PowerBI.Api/Extensions/AsymmetricKeyEncryptor.cs
16 4 1
public CredentialDetails()
in sdk/PowerBI.Api/Extensions/Models/CredentialDetails.cs
15 2 5
public string EncodeCredentials()
in sdk/PowerBI.Api/Extensions/AsymmetricKeyEncryptor.cs
13 3 1
public UsernamePasswordCredentials()
in sdk/PowerBI.Api/Extensions/Models/Credentials/UsernamePasswordCredentials.cs
13 3 2
protected CredentialDetails()
in sdk/PowerBI.Api/Extensions/Models/CredentialDetails.cs
9 2 4
public GenerateTokenRequest()
in sdk/PowerBI.Api/Extensions/Models/GenerateTokenRequest.cs
9 1 5
public GenerateTokenRequest()
in sdk/PowerBI.Api/Extensions/Models/GenerateTokenRequest.cs
9 1 4
public static void AppendData()
in sdk/PowerBI.Api/Extensions/AuthenticatedEncryption.cs
8 1 4
public KeyCredentials()
in sdk/PowerBI.Api/Extensions/Models/Credentials/KeyCredentials.cs
8 2 1
public OAuth2Credentials()
in sdk/PowerBI.Api/Extensions/Models/Credentials/OAuth2Credentials.cs
8 2 1
public GenerateTokenRequest()
in sdk/PowerBI.Api/Extensions/Models/GenerateTokenRequest.cs
8 1 3
public GenerateTokenRequest()
in sdk/PowerBI.Api/Extensions/Models/GenerateTokenRequest.cs
8 1 2