microsoft / EasyRepro
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 1,276 units with 16,248 lines of code in units (66.0% of code).
    • 0 very long units (0 lines of code)
    • 16 long units (1,101 lines of code)
    • 196 medium size units (5,403 lines of code)
    • 416 small units (6,047 lines of code)
    • 648 very small units (3,697 lines of code)
0% | 6% | 33% | 37% | 22%
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% | 33% | 37% | 22%
js0% | 0% | 38% | 30% | 30%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Microsoft.Dynamics365.UIAutomation.Api.UCI0% | 11% | 42% | 32% | 14%
Microsoft.Dynamics365.UIAutomation.Api0% | 38% | 33% | 10% | 16%
Microsoft.Dynamics365.UIAutomation.Browser0% | 10% | 14% | 19% | 55%
Microsoft.Dynamics365.UIAutomation.Api/Pages0% | 3% | 51% | 31% | 14%
Microsoft.Dynamics365.UIAutomation.Sample/Web0% | 2% | 26% | 59% | 11%
Microsoft.Dynamics365.UIAutomation.Sample/UCI0% | 0% | 15% | 73% | 10%
Microsoft.Dynamics365.UIAutomation.Browser/Extensions0% | 0% | 28% | 36% | 35%
Microsoft.Dynamics365.UIAutomation.Sample/SharedAPI0% | 0% | 63% | 21% | 14%
Microsoft.Dynamics365.UIAutomation.Browser/Resources0% | 0% | 38% | 30% | 30%
Microsoft.Dynamics365.UIAutomation.Sample0% | 0% | 96% | 0% | 3%
Microsoft.Dynamics365.UIAutomation.Browser/Logs0% | 0% | 0% | 85% | 14%
Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements0% | 0% | 0% | 4% | 95%
Microsoft.Dynamics365.UIAutomation.Api/DTOs0% | 0% | 0% | 35% | 65%
Microsoft.Dynamics365.UIAutomation.Sample/AzureDevOps0% | 0% | 0% | 61% | 38%
Microsoft.Dynamics365.UIAutomation.Api.UCI/DTO0% | 0% | 0% | 0% | 100%
Microsoft.Dynamics365.UIAutomation.Api.UCI/Controls0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public BrowserCommandResult SetValue()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
91 29 2
public virtual ChromeOptions ToChrome()
in Microsoft.Dynamics365.UIAutomation.Browser/BrowserOptions.cs
83 21 0
public BrowserCommandResult ClickRelatedCommand()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
79 15 3
public BrowserCommandResult SetValue()
in Microsoft.Dynamics365.UIAutomation.Api/XrmPage.cs
74 10 4
public BrowserCommandResult SetHeaderValue()
in Microsoft.Dynamics365.UIAutomation.Api/Pages/Entity.cs
73 21 1
public BrowserCommandResult SelectLookup()
in Microsoft.Dynamics365.UIAutomation.Api/XrmPage.cs
72 12 3
public BrowserCommandResult SetValue()
in Microsoft.Dynamics365.UIAutomation.Api/XrmPage.cs
72 21 1
public void WEBTestLeadToOpportunityBPFClearAndSetValue()
in Microsoft.Dynamics365.UIAutomation.Sample/Web/BusinessProcessFlow/BusinessProcessFlow.cs
72 1 0
internal BrowserCommandResult ClickCommand()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
70 10 4
public BrowserCommandResult SetValue()
in Microsoft.Dynamics365.UIAutomation.Api/XrmPage.cs
70 12 1
public BrowserCommandResult SelectLookup()
in Microsoft.Dynamics365.UIAutomation.Api/XrmPage.cs
68 8 1
public BrowserCommandResult ClickSubGridCommand()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
61 10 4
private void TrySetDateValue()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
57 11 4
private LoginResult Login()
in Microsoft.Dynamics365.UIAutomation.Api/Pages/LoginDialog.cs
54 9 5
public static IWebDriver CreateWebDriver()
in Microsoft.Dynamics365.UIAutomation.Browser/BrowserDriverFactory.cs
54 15 1
public BrowserCommandResult BPFSetValue()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
51 3 3
private BrowserCommandResult AddMultiOptions()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
50 10 2
internal BrowserCommandResult OpenSubGridRecord()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
50 7 2
public static bool WaitForPageToLoad()
in Microsoft.Dynamics365.UIAutomation.Browser/Extensions/SeleniumExtensions.cs
49 11 2
private LoginResult Login()
in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs
48 14 6