microsoft / mail2bug
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 198 units with 2,132 lines of code in units (65.1% of code).
    • 0 very long units (0 lines of code)
    • 1 long units (62 lines of code)
    • 20 medium size units (570 lines of code)
    • 57 small units (818 lines of code)
    • 120 very small units (682 lines of code)
0% | 2% | 26% | 38% | 31%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 2% | 26% | 38% | 31%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Mail2Bug0% | 20% | 20% | 26% | 31%
Mail2Bug/WorkItemManagement0% | 0% | 33% | 51% | 15%
Mail2Bug/Email/EWS0% | 0% | 21% | 32% | 45%
Mail2Bug/Email0% | 0% | 25% | 40% | 33%
Mail2Bug/MessageProcessingStrategies0% | 0% | 18% | 43% | 37%
Mail2Bug/Helpers0% | 0% | 40% | 27% | 31%
Tools/DpapiTool0% | 0% | 40% | 21% | 38%
Mail2Bug/TestHelpers0% | 0% | 40% | 21% | 38%
Mail2Bug/ExceptionClasses0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public static void Main()
in Mail2Bug/Main.cs
62 11 1
public void ModifyWorkItem()
in Mail2Bug/WorkItemManagement/TFSWorkItemManager.cs
39 7 5
public void ProcessInbox()
in Mail2Bug/Email/EWS/RecipientsMailboxManagerRouter.cs
35 5 0
public static string GetLastMessageText_Html()
in Mail2Bug/Email/EmailBodyProcessingUtils.cs
35 11 1
private static void TryApplyFieldValue()
in Mail2Bug/WorkItemManagement/TFSWorkItemManager.cs
34 7 3
public IMailboxManager CreateMailboxManager()
in Mail2Bug/Email/MailboxManagerFactory.cs
31 3 1
private void ProcessInboxInternal()
in Mail2Bug/Mail2BugEngine.cs
31 4 0
private void UpdateWorkItem()
in Mail2Bug/MessageProcessingStrategies/SimpleBugStrategy.cs
31 6 2
30 5 1
public int CreateWorkItem()
in Mail2Bug/WorkItemManagement/TFSWorkItemManager.cs
30 8 2
public static Command ParseArguments()
in Tools/DpapiTool/ArgumentParserHelper.cs
29 7 1
public async Task GetPasswordAsync()
in Mail2Bug/Helpers/CredentialsHelper.cs
28 6 3
public EWSIncomingMessage()
in Mail2Bug/Email/EWS/EWSIncomingMessage.cs
27 1 2
public TFSWorkItemManager()
in Mail2Bug/WorkItemManagement/TFSWorkItemManager.cs
27 4 1
private IEnumerable GetOAuthCredentials()
in Mail2Bug/WorkItemManagement/TFSWorkItemManager.cs
27 6 0
private void NewWorkItem()
in Mail2Bug/MessageProcessingStrategies/SimpleBugStrategy.cs
26 3 1
static private EWSConnection ConnectToEWS()
in Mail2Bug/Email/EWS/EWSConnectionManger.cs
25 1 2
private static int? GetWorkItemIdFromText()
in Mail2Bug/WorkItemManagement/MessageToWorkItemMapper.cs
22 4 3
public static string GetValidFileName()
in Mail2Bug/Helpers/FileUtils.cs
21 6 3
static RandomDataHelper()
in Mail2Bug/TestHelpers/RandomDataHelper.cs
21 1 0