OrchardCore
Unit Size

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 7,854 units with 114,830 lines of code in units (52.3% of code).
    • 55 very long units (19,573 lines of code)
    • 182 long units (12,048 lines of code)
    • 998 medium size units (29,865 lines of code)
    • 1,828 small units (26,733 lines of code)
    • 4,791 very small units (26,611 lines of code)
17% | 10% | 26% | 23% | 23%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
js44% | 7% | 17% | 14% | 16%
cs4% | 11% | 29% | 27% | 26%
ts36% | 0% | 34% | 20% | 8%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Logical Component
primary logical decomposition
OrchardCore.Modules21% | 10% | 27% | 21% | 19%
OrchardCore.Themes26% | 8% | 20% | 20% | 24%
OrchardCore3% | 11% | 24% | 28% | 32%
Templates0% | 0% | 0% | 31% | 68%
OrchardCore.Cms.Web0% | 0% | 0% | 0% | 100%
OrchardCore.Mvc.Web0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
11-20
1-10
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
(function(e)()
in src/OrchardCore.Modules/OrchardCore.ContentFields/wwwroot/Scripts/fontawesome-iconpicker.js
4284 5 1
(function (a)()
in src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js
3843 5 1
(function (global, factory)()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/vue.js
1515 243 2
(function (global, factory)()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/Sortable.js
1366 384 2
(function ($)()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/plugins/emoji/trumbowyg.emoji.js
1292 1 1
function MultiDragPlugin()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/Sortable.js
405 94 0
(function(module, __webpack_exports__, __webpack_require__)()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/vuedraggable.umd.js
382 48 3
public void BuildManifests()
in src/OrchardCore.Modules/OrchardCore.Resources/ResourceManifest.cs
322 1 1
public int Create()
in src/OrchardCore.Modules/OrchardCore.ContentFields/Indexing/SQL/Migrations.cs
314 1 0
(function (global, factory)()
in src/OrchardCore.Themes/TheAdmin/Assets/js/perfect-scrollbar.js
274 39 2
public override async Task ProcessAsync()
in src/OrchardCore/OrchardCore.ResourceManagement/TagHelpers/ScriptTagHelper.cs
197 48 2
var Trumbowyg = function()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.js
187 17 2
(function ($)()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/plugins/fontsize/trumbowyg.fontsize.js
184 1 1
public void Discover()
in src/OrchardCore.Modules/OrchardCore.Taxonomies/TermShapes.cs
163 18 1
(function ($)()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/plugins/table/trumbowyg.table.js
147 1 1
public async Task Edit()
in src/OrchardCore.Modules/OrchardCore.OpenId/Controllers/ApplicationController.cs
145 30 2
buildEditor: function()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/js/trumbowyg.js
144 42 0
updatePlacement: function()
in src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js
141 27 2
updatePlacement: function()
in src/OrchardCore.Modules/OrchardCore.ContentFields/wwwroot/Scripts/fontawesome-iconpicker.js
141 27 2
public override async Task ProcessAsync()
in src/OrchardCore/OrchardCore.ResourceManagement/TagHelpers/StyleTagHelper.cs
140 34 2
public SqlGrammar()
in src/OrchardCore.Modules/OrchardCore.Queries/Sql/SqlGrammar.cs
130 1 0
public async Task ProcessContentItemsAsync()
in src/OrchardCore.Modules/OrchardCore.Lucene/Services/LuceneIndexingService.cs
130 28 1
public async Task BuildDisplayAsync()
in src/OrchardCore/OrchardCore.ContentManagement.Display/ContentDisplay/ContentItemDisplayCoordinator.cs
130 26 2
$()
in src/OrchardCore.Modules/OrchardCore.Markdown/Assets/Scripts/simplemde.mediatoolbar.js
128 1 1
(function (factory)()
in src/OrchardCore.Themes/TheAdmin/Assets/js/Sortable.js
128 27 1
function AnimationStateManager()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/Sortable.js
121 26 0
(function($)()
in src/OrchardCore.Themes/TheBlogTheme/wwwroot/js/jqBootstrapValidation.js
121 1 1
(function($)()
in src/OrchardCore.Themes/TheAgencyTheme/wwwroot/dist/assets/mail/jqBootstrapValidation.js
121 1 1
(function($)()
in src/OrchardCore.Themes/TheAgencyTheme/wwwroot/src/assets/mail/jqBootstrapValidation.js
121 1 1
public TagBuilder GetTagBuilder()
in src/OrchardCore/OrchardCore.ResourceManagement.Abstractions/ResourceDefinition.cs
121 34 3
function processAttrs()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/vue.js
118 30 1
public async Task Pager_Links()
in src/OrchardCore.Modules/OrchardCore.Navigation/PagerShapes.cs
117 29 18
(function ($)()
in src/OrchardCore.Modules/OrchardCore.Resources/Assets/trumbowyg/plugins/allowtagsfrompaste/trumbowyg.allowtagsfrompaste.js
117 1 1
public async Task Setup()
in src/OrchardCore.Modules/OrchardCore.Tenants/Controllers/ApiController.cs
115 21 1
constructor()
in src/OrchardCore.Modules/OrchardCore.Workflows/Assets/Scripts/workflow-editor.ts
114 12 5
function parse()
in src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Scripts/vue.js
113 28 2
private async Task ApplyImplementationAsync()
in src/OrchardCore/OrchardCore.DisplayManagement/Views/ShapeResult.cs
113 26 2
public override void Configure()
in src/OrchardCore.Modules/OrchardCore.Sitemaps/Startup.cs
112 1 3
public async Task List()
in src/OrchardCore.Modules/OrchardCore.Contents/Controllers/AdminController.cs
111 16 3
public async Task Authorize()
in src/OrchardCore.Modules/OrchardCore.OpenId/Controllers/AccessController.cs
110 19 0
_onDragOver: function()
in src/OrchardCore.Themes/TheAdmin/Assets/js/Sortable.js
110 52 1
public IEnumerable GetFeatures()
in src/OrchardCore/OrchardCore/Extensions/Features/FeaturesProvider.cs
110 10 2
public UserInfoController()
in src/OrchardCore.Modules/OrchardCore.OpenId/Controllers/UserInfoController.cs
109 20 1
public void Discover()
in src/OrchardCore.Modules/OrchardCore.Menu/MenuShapes.cs
109 12 1
public override ShapeResult Factory()
in src/OrchardCore/OrchardCore.ContentManagement.Display/ContentDisplay/ContentPartDisplayDriverTPart.cs
109 24 3
public HttpMethodsProvider()
in src/OrchardCore.Modules/OrchardCore.Workflows/Http/Scripting/HttpMethodsProvider.cs
108 8 1
public override void Configure()
in src/OrchardCore.Modules/OrchardCore.Media/Startup.cs
108 2 3
init: function()
in src/OrchardCore.Themes/TheBlogTheme/wwwroot/js/jqBootstrapValidation.js
107 22 1
init: function()
in src/OrchardCore.Themes/TheAgencyTheme/wwwroot/dist/assets/mail/jqBootstrapValidation.js
107 22 1
init: function()
in src/OrchardCore.Themes/TheAgencyTheme/wwwroot/src/assets/mail/jqBootstrapValidation.js
107 22 1