microsoft / IIS.Administration
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,993 units with 25,399 lines of code in units (54.7% of code).
    • 8 very long units (1,178 lines of code)
    • 28 long units (1,929 lines of code)
    • 303 medium size units (8,245 lines of code)
    • 556 small units (8,012 lines of code)
    • 1,098 very small units (6,035 lines of code)
4% | 7% | 32% | 31% | 23%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs4% | 7% | 32% | 31% | 23%
js0% | 0% | 21% | 21% | 57%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/Microsoft.IIS.Administration.WebServer.Monitoring39% | 21% | 8% | 15% | 15%
src/Microsoft.IIS.Administration.WebServer.AppPools54% | 0% | 14% | 13% | 17%
src/Microsoft.IIS.Administration.WebServer.Logging32% | 14% | 14% | 24% | 14%
src/Microsoft.IIS.Administration.WebServer.UrlRewrite3% | 13% | 26% | 39% | 17%
src/Microsoft.IIS.Administration.WebServer.Sites18% | 24% | 26% | 16% | 13%
src/Microsoft.IIS.Administration.Files0% | 10% | 35% | 24% | 28%
src/Microsoft.IIS.Administration.WebServer.HttpRequestTracing0% | 12% | 41% | 21% | 23%
src/Microsoft.IIS.Administration.WebServer.IPRestrictions0% | 18% | 38% | 26% | 16%
src/Microsoft.IIS.Administration.WebServer.Authentication0% | 13% | 22% | 39% | 25%
src/Microsoft.IIS.Administration.WebServer.Handlers0% | 12% | 44% | 25% | 17%
src/Microsoft.IIS.Administration.WebServer.DirectoryBrowsing0% | 30% | 27% | 16% | 25%
src/Microsoft.IIS.Administration.WebServer.RequestMonitor0% | 23% | 20% | 13% | 43%
src/Microsoft.IIS.Administration0% | 2% | 31% | 34% | 31%
src/Microsoft.IIS.Administration.WebServer.RequestFiltering0% | 2% | 42% | 39% | 15%
src/Microsoft.IIS.Administration.WebServer.SslSettings0% | 23% | 29% | 24% | 22%
src/Microsoft.IIS.Administration.WebServer.Modules0% | 0% | 45% | 26% | 28%
src/Microsoft.IIS.Administration.WebServer.HttpResponseHeaders0% | 0% | 54% | 31% | 14%
src/Microsoft.IIS.Administration.Core0% | 0% | 39% | 24% | 35%
src/Microsoft.IIS.Administration.WebServer.Files0% | 0% | 46% | 36% | 16%
src/Microsoft.IIS.Administration.WebServer.StaticContent0% | 0% | 43% | 34% | 22%
src/Microsoft.IIS.Administration.WebServer0% | 0% | 27% | 30% | 42%
src/Microsoft.IIS.Administration.Certificates0% | 0% | 38% | 23% | 37%
src/Microsoft.IIS.Administration.WebServer.Authorization0% | 0% | 37% | 37% | 25%
src/Microsoft.IIS.Administration.WebServer.VirtualDirectories0% | 0% | 48% | 33% | 18%
src/Microsoft.IIS.Administration.Files.Core0% | 0% | 24% | 48% | 27%
src/Microsoft.IIS.Administration.WebServer.DefaultDocuments0% | 0% | 30% | 47% | 21%
src/Microsoft.IIS.Administration.WebServer.CentralCertificates0% | 0% | 36% | 24% | 38%
src/Microsoft.IIS.Administration.WebServer.Applications0% | 0% | 37% | 40% | 21%
src/Microsoft.IIS.Administration.WebServer.Compression0% | 0% | 47% | 16% | 36%
src/Microsoft.IIS.Administration.WebServer.Delegation0% | 0% | 35% | 55% | 9%
src/Microsoft.IIS.Administration.WebServer.WorkerProcesses0% | 0% | 35% | 22% | 42%
src/Microsoft.IIS.Administration.WebServer.HttpRedirect0% | 0% | 22% | 46% | 31%
src/Microsoft.IIS.Administration.WebServer.Scm0% | 0% | 15% | 58% | 26%
src/Microsoft.IIS.Administration.AccessManagement0% | 0% | 0% | 44% | 55%
src/Microsoft.IIS.Administration.WebServer.Info0% | 0% | 0% | 62% | 37%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public async Task GetSnapshot()
in src/Microsoft.IIS.Administration.WebServer.Monitoring/WebServer/WebServerMonitor.cs
225 44 0
public static void Update()
in src/Microsoft.IIS.Administration.WebServer.Logging/LoggingHelper.cs
213 54 5
private async Task GetSnapShot()
in src/Microsoft.IIS.Administration.WebServer.Monitoring/Sites/WebSiteMonitor.cs
148 43 1
private static void SetAppPool()
in src/Microsoft.IIS.Administration.WebServer.AppPools/AppPoolHelper.cs
141 31 2
internal static object ToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.AppPools/AppPoolHelper.cs
115 18 3
private static void AssignRuleFromModel()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/OutboundRulesHelper.cs
114 24 3
private static void SetBinding()
in src/Microsoft.IIS.Administration.WebServer.Sites/SiteHelper.cs
113 34 2
private async Task GetSnapShot()
in src/Microsoft.IIS.Administration.WebServer.Monitoring/AppPools/AppPoolMonitor.cs
109 31 1
private static void AssignRuleFromModel()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/InboundRulesHelper.cs
98 23 4
internal static object ToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.Logging/LoggingHelper.cs
95 13 2
private static void SetRule()
in src/Microsoft.IIS.Administration.WebServer.HttpRequestTracing/Helpers/RulesHelper.cs
91 24 4
private static void SetRule()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/GlobalRulesHelper.cs
91 22 3
private static Site SetSite()
in src/Microsoft.IIS.Administration.WebServer.Sites/SiteHelper.cs
83 23 3
public static object RuleToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/OutboundRulesHelper.cs
82 31 5
public static object RuleToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/InboundRulesHelper.cs
81 23 5
public static object RuleToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.UrlRewrite/Helpers/GlobalRulesHelper.cs
80 23 5
public static void UpdateFeatureSettings()
in src/Microsoft.IIS.Administration.WebServer.Handlers/HandlersHelper.cs
77 18 2
public static object ToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.Monitoring/Sites/SiteHelper.cs
76 11 4
public static object ToJsonModel()
in src/Microsoft.IIS.Administration.WebServer.Monitoring/WebServer/WebServerHelper.cs
71 9 3
public static void UpdateSettings()
in src/Microsoft.IIS.Administration.WebServer.DirectoryBrowsing/DirectoryBrowsingHelper.cs
70 18 4