ajaxorg / ace
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 5,076 units with 85,499 lines of code in units (68.4% of code).
    • 89 very long units (32,339 lines of code)
    • 123 long units (8,656 lines of code)
    • 490 medium size units (14,626 lines of code)
    • 826 small units (11,901 lines of code)
    • 3,548 very small units (17,977 lines of code)
37% | 10% | 17% | 13% | 21%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js37% | 10% | 17% | 13% | 21%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
lib/ace39% | 10% | 16% | 13% | 20%
tool0% | 16% | 31% | 27% | 25%
doc/site0% | 44% | 0% | 14% | 41%
ROOT0% | 0% | 46% | 32% | 21%
api/resources0% | 0% | 27% | 35% | 36%
build_support0% | 0% | 0% | 82% | 17%
tool/templates0% | 0% | 0% | 0% | 100%
doc0% | 0% | 0% | 0% | 100%
experiments0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
define()
in lib/ace/mode/php_completions.js
9308 1 3
define()
in lib/ace/mode/html/saxparser.js
3012 34 3
var CsoundOrchestraHighlightRules = function()
in lib/ace/mode/csound_orchestra_highlight_rules.js
1938 1 1
var PhpLangHighlightRules = function()
in lib/ace/mode/php_highlight_rules.js
947 1 0
var ErlangHighlightRules = function()
in lib/ace/mode/erlang_highlight_rules.js
818 1 0
var KotlinHighlightRules = function()
in lib/ace/mode/kotlin_highlight_rules.js
605 1 0
var PgsqlHighlightRules = function()
in lib/ace/mode/pgsql_highlight_rules.js
551 1 0
var MushCodeRules = function()
in lib/ace/mode/mushcode_highlight_rules.js
546 1 0
var MediaWikiHighlightRules = function()
in lib/ace/mode/mediawiki_highlight_rules.js
544 1 0
define()
in lib/ace/commands/default_commands.js
404 6 3
var ValaHighlightRules = function()
in lib/ace/mode/vala_highlight_rules.js
397 1 0
var PythonHighlightRules = function()
in lib/ace/mode/python_highlight_rules.js
372 1 0
var ElixirHighlightRules = function()
in lib/ace/mode/elixir_highlight_rules.js
361 1 0
var ZeekHighlightRules = function()
in lib/ace/mode/zeek_highlight_rules.js
346 1 0
var CrystalHighlightRules = function()
in lib/ace/mode/crystal_highlight_rules.js
338 1 0
var RakuHighlightRules = function()
in lib/ace/mode/raku_highlight_rules.js
325 1 0
var PrismaHighlightRules = function()
in lib/ace/mode/prisma_highlight_rules.js
301 1 0
var SoyTemplateHighlightRules = function()
in lib/ace/mode/soy_template_highlight_rules.js
292 3 0
var OcamlHighlightRules = function()
in lib/ace/mode/ocaml_highlight_rules.js
286 1 0
define()
in lib/ace/keyboard/sublime.js
284 3 3