Pull to refresh

Средняя длина идентификатора в популярных библиотеках JavaScript составляет 8.27 символа

Reading time1 min
Views1K

Идентификаторы длиной больше 15 встречаются реже односимвольных. Чаще всего встречаются 6-cимвольные имена. Такие результаты получил автор Esprima — парсера для JavaScript, написанного на JavaScript, проанализировав исходный код таких библиотек, как jQuery, Prototype, MooTools, Underscore и некоторых других.

Пятёрка самых длинных идентификаторов выглядит так:
prototype-1.7.0.0.js SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING
prototype-1.7.0.0.js MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED
jquery-1.7.1.js subtractsBorderForOverflowNotVisible
jquery.mobile-1.0.js getClosestElementWithVirtualBinding
prototype-1.7.0.0.js HAS_EXTENDED_CREATE_ELEMENT_SYNTAX


С помощью вот такого скрипта для Node.js можно сравнить свой стиль именования переменных и функций с классическими образцами на предмет излишнего многословия или чересчур суровой лаконичности:

var fs = require('fs'),
    esprima = require('esprima'),
    files = process.argv.splice(2);
 
files.forEach(function (filename) {
    var identifiers = {},
        content = fs.readFileSync(filename, 'utf-8'),
        syntax = esprima.parse(content);
 
    JSON.stringify(syntax, function (key, value) {
        if (key === 'name' && typeof identifiers[value] === 'undefined') {
            identifiers[value] = value.length;
        }
        return value;
    });
 
    for (var key in identifiers) {
        if (identifiers.hasOwnProperty(key)) {
            console.log(identifiers[key]);
        }
    }
});

Запускать так:

node idlen.js /path/to/some/*.js | sort -n | uniq -c


Tags:
Hubs:
Total votes 24: ↑18 and ↓6+12
Comments26

Articles