Можно я посоветую на основе своего опыта?
Всегда лучше использовать полное наименование переменных, точно отражающих что именно в них ездит, вне зависимости от того как выглядит внешне код.
Потому что идущий следом за вами разработчик выполняя code review будет вам благодарен и это в равной степени относится к вам самим, если спустя полгода надо вернуться к этому коду.
Сюда же стоит отнести и комментирование кода в участках, где происходят вещи не совсем очевидные на первый взгляд.
Я вообще стараюсь в таких местах оставлять детальный план описывающий порядок движухи, да, прямо в комментариях кода, а не только в проектной документации.
полные имена ок, за исключением локальных переменных. если весь скоуп переменной умещается на экран без скроллинга, ты не успеешь забыть откуда она и для чего )))
тогда реально пусть она называется x или i.
Если этим не заморачиваться, то строго похуй. Вообще, можно собрать интерпретатор с флагом -O3 (или вообще -Ofast, если выгорит) и с -march=native, а не с -O2 как обычно и march хуй пойми каким, и компенсировать проседание производительности. Но это на сервере. В браузерах - никак. Ну или прогонять через минификатор. Либо писать в многопоточном стиле (такое вообще возможно для javascript?).
В компилируемых языках после компиляции никаких имён переменных, разумеется, не остаётся.
Что касается осмысленности названий. Важно не то, как они называются, а то, чтобы в них лежало то, как они называются. Ну чтобы в переменной age не хранился рост. Полям и методам можно давать короткие имена, но рядом с объявлением писать подробный комментарий, что это, зачем это и как планируется её использовать. Реально, больше пользы. Ну вот сравните:
var bestClientFirstCarEngineNumber;
var engine_num; // Номер двигателя первого автомобиля лучшего клиента. Нужна для того, чтобы выводить в топе статистики. Не нужна, если не будет статистики.
спасибо за ответы. я всё таки решил продолжать использовать длинные имена. не думаю, что это сильно будет влиять на производительность так как сегодня почти не осталось разработчиков, которые не пользуются сборщиками типа проектов grunt. а это своего рода "компилятор", который кроме всего прочего, преобразует имена в легкоразрешимые