Pull to refresh

Имена для метапеременных

Reading time2 min
Views21K
Метапеременные — это слова-заменители, которые применяются в технических текстах для обозначения чего-либо, что может стоять на их месте, метапеременные часто используются в программировании.

Есть две легендарных метапеременных — это foo и bar. Они прекрасны — короткие, одинаковой длины, отличаются друг от друга, легко произносятся. А вот если нам необходимо больше метапеременных? Тут уже нету чётких правил. Обычно используются baz и bat. Но они имеют существенный недостаток — очень схожее написание с bar. И еще более схожее звучание (при выступлениях глухие буквы в конце часто съедаются и получается «ба» вместо «бар» и«бат»)
var foo = 'fooValue',
    bar = 'barValue',
    baz = 'bazValue',
    bat = 'batValue';


На данном ресурсе сидит огромное количество программистов и я хотел бы предложить отказаться от традиции использовать baz и bat в качестве имени метапеременной, а также обсудить возможность замены их чем-нибудь другим.



Я понимаю, что это уже укореняется, как традиция, но всё-таки, я не понимаю, откуда взялась эта традиция. В больших блоках кода, где постоянно используется две-три похожих переменных начинает возникать путаница, приходится вчитываться в каждую букву.

Предложение высказано после обсуждения в топике "JavaScript. Ядро".

Почему бы не придумать к foo-bar еще набор названий, которые бы отвечали следующим условиям:
— Длина — три буквы
— Кардинально отличаются внешним видом
— Кардинально отличаются произношением
— Легко и чётко произносятся. Должен быть 1 слог.

Например, я предлагаю следующий набор:

foo // фу
bar // бар
qux // куикс (читать как quux)
osе // оуз
rol // рол
zed // зэд


Прослушать

Quux использовал т.к. он есть традиционной четвертой переменной, и звучит, имхо, лучше, чем qux. Но при этом выбивается из «ритма» трехбуквенных переменных.
var foo = 'fooValue',
    bar = 'barValue',
    quux = 'quuxValue',
    ose = 'oseValue',
    rol = 'rolValue',
    zed = 'zedValue';

// vs

var foo = 'fooValue',
    bar = 'barValue',
    qux = 'quxValue',
    ose = 'oseValue',
    rol = 'rolValue',
    zed = 'zedValue';


Конечно, первое время они будут непривычны, но со временем устаканится набор разных метапеременных, которые хорошо выглядят в коде. Хотелось бы выслушать ваше мнение.
Tags:
Hubs:
Total votes 24: ↑12 and ↓120
Comments14

Articles