Правильный выбор имени переменной
Материал на этой странице устарел, поэтому скрыт из оглавления сайта.
Более новая информация по этой теме находится на странице https://learn.javascript.ru/variables.
Правильный выбор имени переменной – одна из самых важных и сложных вещей в программировании, которая отличает начинающего от гуру.
Дело в том, что большую часть времени мы тратим не на изначальное написание кода, а на его развитие.
Возможно, эти слова не очевидны, если вы пока что ничего большого не писали или пишете код «только для записи» (write-only, написал 5 строк, отдал заказчику и забыл). Но чем более серьёзные проекты вы будете делать, тем более актуальны они будут для вас.
Что такое это «развитие»? Это когда я вчера написал код, а сегодня (или спустя неделю) прихожу и хочу его поменять. Например, вывести сообщение не так, а эдак… Обработать товары по-другому, добавить функциональность… А где у меня там сообщение хранится? А где товар.
Гораздо проще найти нужные данные, если они правильно помечены, то есть когда переменная названа правильно.
Правила именования
Правило 1.
Никакого транслита. Только английский.
Чем плох транслит?
Во-первых, среди разработчиков всего мира принято использовать английский язык для имён переменных. И если ваш код потом попадёт к кому-то другому, например вы будете в команде больше чем из одного человека, то велик шанс, что транслит ему не понравится.
Во-вторых, русский транслит хуже читается и длиннее, чем названия на английском.
В-третьих, в проектах вы наверняка будете применять библиотеки, написанные другими людьми. Многое уже готово, в распоряжении современного разработчика есть масса инструментов, все они используют названия переменных и функций на английском языке, и вы, конечно, будете их использовать. А от кода, где транслит перемешан с английским – волосы могут встать дыбом, и не только на голове.
Если вы, вдруг, не знаете английский – самое время выучить.
Правило 2.
Использовать короткие имена только для переменных «местного значения».
Называть переменные именами, не несущими смысловой нагрузки, например a , e , p , mg – можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.
Вообще же, название переменной должно быть понятным. Иногда для этого нужно использовать несколько слов.
Правило 3.
Переменные из нескольких слов пишутся вместеВотТак .
Этот способ записи называется «верблюжьей нотацией» или, по-английски, «camelCase».
Существует альтернативный стандарт, когда несколько слов пишутся через знак подчёркивания ‘_’ :
Преимущественно в JavaScript используется вариант borderLeftWidth , в частности во встроенных языковых и браузерных функциях. Поэтому целесообразно остановиться на нём.
Ещё одна причина выбрать «верблюжью нотацию» – запись в ней немного короче, чем с подчёркиванием, т.к. не нужно вставлять ‘_’ .
Правило последнее, главное.
Имя переменной должно максимально чётко соответствовать хранимым в ней данным.
Придумывание таких имён – одновременно коротких и точных, при которых всегда понятно, что где лежит, приходит с опытом, но только если сознательно стремиться к этому.
Позвольте поделиться одним небольшим секретом, который очень прост, но позволит улучшить названия переменных и сэкономит время.
Бывает так, что, написав код, мы через некоторое время к нему возвращаемся, надо что-то поправить. И мы примерно помним, что переменная, в которой хранится нужное вам значение, называется… Ну, скажем, borderLeftWidth . Мы ищем её в коде, не находим, но, разобравшись, обнаруживаем, что на самом деле переменная называлась вот так: leftBorderWidth .
Если мы ищем переменную с одним именем, а находим – с другим, то зачастую самый лучший ход – это переименовать переменную, чтобы имя было тем, которое вы искали.
То есть, в коде leftBorderWidth , а мы её переименуем на ту, которую искали: borderLeftWidth .
Зачем? Дело в том, что в следующий раз, когда вы захотите что-то поправить, то вы будете искать по тому же самому имени. Соответственно, это сэкономит вам время.
Есть причина и поважнее. Поскольку именно это имя переменной пришло в голову – скорее всего, оно больше соответствует хранимым там данным, чем то, которое мы придумали изначально. Исключения бывают, но в любом случае – такое несовпадение – это повод задуматься.
Чтобы удобно переименовывать переменную, нужно использовать хороший редактор JavaScript, тогда этот процесс будет очень простым и быстрым.
Смысл имени переменной – это «имя на коробке», по которому мы сможем максимально быстро находить нужные нам данные.
Не нужно бояться переименовывать переменные, если вы придумали имя получше.
Современные редакторы позволяют делать это очень удобно и быстро. Это в конечном счёте сэкономит вам время.
Бывают ленивые программисты, которые, вместо того чтобы объявить новую переменную, используют существующую.
В результате получается, что такая переменная – как коробка, в которую кидают то одно, то другое, то третье, при этом не меняя название. Что в ней лежит сейчас? А кто его знает… Нужно подойти, проверить.
Сэкономит такой программист время на объявлении переменной – потеряет в два раза больше на отладке кода.
Как называть переменные?
Если вы начали программировать, в какой-то момент вам придется подумать, как называть свои переменные и функции. С точки зрения языка программирования названия у них могут быть любыми: от i до MySuperVariable100500.
В программировании постоянно приходится придумывать имена: для функций, классов, аргументов, пакетов, исходных файлов, каталогов и другого. Но для чтения и понимания кода названия переменных и других сущностей крайне важны. Ниже объясню, почему.
Почему названия переменных важны
- Через пару недель после завершения проекта вы, скорее всего, забудете, как устроен код и за что отвечают некоторые его части. Правильное имя переменной или функции помогут раскрыть ее предназначение.
- В какой-то момент с вашим кодом придется работать другому человеку. Чем понятнее имена сущностей, тем проще ему будет разобраться в программе.
- Правильность и точность именования функций проверяют даже на собесебедовании. В какой-то степени это помогает потенциальному работодателю понять, как устроен ваш образ мыслей.
Правила именования
- Имя переменной или функции должно отражать намерение — прочитав его, должно стать понятно, зачем нужна именно эта сущность. Хотя выбор имен отнимает время, при рефакторинга кода с плохим именованием его тратится намного больше.
- Имя любой переменной, функции или класса должно отвечать на три вопроса:
- Почему оно существует? 2.Что делает?
- Для чего используется?
Лучше выбирать короткие имена, так как чем длиннее названия переменных, тем тяжелее их набрать без ошибок(хоть тут помогает автокомплит).
Часто функции называют каким-то действием. Например, getUserName() задает имя пользователя, а setSpeed() — скорость.
Вместо заключения — общее правило именования. Называйте переменные и функции так, как будто их будут читать совершенно незнакомые люди. Будто завтра вам в отпуск, а за вас код будет доделывать ваш коллега из Индии. Он должен понять ваши переменные и функции. Если сможете так сделать — вас оторвут с руками в любой компании.
Практическое руководство по именованию классов, функций и переменных
В компьютерном программировании соглашение об именах — набор правил для выбора последовательности символов, которая будет использоваться для идентификаторов, которые обозначают переменные, типы, функции и другие объекты в исходном коде и документации, — «Википедия»
Придумывать названия сложно!
В этой статье мы сосредоточимся на методе именования (P)A/HC/LC для того, чтобы улучшить читаемость кода. Эти рекомендации можно применить к любому языку программирования, в статье для примеров кода используется JavaScript.
Что значит (P)A/HC/LC?
В этой практике используется следующий шаблон для именования функции:
Что обозначает префикс (P)?
Префикс расширяет смысл функции.
Описывает свойство или состояние текущего контекста (обычно — логическое значение).
Указывает, имеет ли текущий контекст определенное значение или состояние (обычно — логическое значение).
Отражает положительный условный оператор (обычно — логическое значение), связанный с определенным действием.
Действие — это сердце функции
Действие — это глагольная часть имени функции. Это самая важная часть в описании того, что делает функция.
Получает доступ к данным немедленно (сокращение от getter для внутренних данных).
Безусловно присваивает переменной со значением A значение B.
Возвращает переменную к её начальному значению или состоянию.
Выполняет запрос данных, для которого требуется время (например, асинхронный запрос).
Удаляет что-то откуда-то.
Например, если у вас есть коллекция выбранных фильтров на странице поиска, удаление одного из них из коллекции — это removeFilter , а не deleteFilter (именно так вы и скажете на английском языке):
Полностью стирает что-то. После операции сущность перестаёт существовать.
Представьте, что вы редактор контента, и есть пост, от которого вы хотите избавиться. Как только вы нажали на кнопку delete-post, CMS выполнила действие deletePost , а не removePost .
Создает новые данные из существующих. Обычно это применимо к строкам, объектам или функциям.
Обработка действия. Часто используется при именовании обратного вызова.
Контекст
Контекст — это область, с которой работает функция.
Функция — это часто действие с чем-то. Важно указать, какова её рабочая область или, по крайней мере, ожидаемый тип данных.
В итоге

Пять принципов именования переменных
В этом разделе мы предложим некоторые правила именования переменных, которые улучшат читаемость кода.
1. Следуйте S-I-D
Имя должно быть коротким (Short), интуитивно понятным (Intuitive) и описательным (Descriptive).
2. Избегайте сокращений
Не используйте сокращения. Обычно они только ухудшают читаемость кода. Найти короткое, описательное имя может быть сложно, но сокращения не могут быть оправданием для того, чтобы этого не делать. Например:
3. Избегайте дублирования контекста
Всегда удаляйте контекст из имени, если это не снижает его читабельность.
4. Отражайте в имени ожидаемый результат
5. Учитывайте единственное/множественное число
Как и префикс, имена переменных могут быть единственного или множественного числа в зависимости от того, имеют ли они одно значение или несколько.
6. Используйте осмысленные и произносимые имена
Как называть переменные
Одним из важных критериев хорошего кода, является его читаемость. Например, мы три месяца назад написали код, а сегодня нам потребовалось кое что поменять. Изменить свойства товара, или изменить производителя.
Поэтому очень важно, чтобы функции, переменные и методы легко читались и понимались.
1. Строковые переменные
Как правило, при создании имен для строковой переменной, используют существительное. Вам, и тому, кто будет читать ваш код, должно быть понятно, что находится в переменной по её названию.
2. Никакого транслита. Только английский.
Почему плох транслит? В команде могут быть иностранные разработчики, и они конечно же не поймут, что вы имели ввиду.
Длина переменных, как правило на английском короче, чем на транслите.
Также, наверняка вы используете в своем коде библиотеки, и они написаны другими людьми, и все они используют названия переменных и функций на английском языке.
3. Числовые переменные
Почти в каждом проекте приняты следующие правила.
- количество (count)
- код чего-либо (code)
- размер (size, length)
- номер (number)
4. Переменные из нескольких слов пишутся вместеВотТак
Приведенный ниже способ, называется «верблюжьей нотацией» или, по-английски, «camelCase».
Так же часто применяется альтернативный стандарт, когда несколько слов пишутся через знак нижнего подчеркивания.
5. Булевое значение
Логичным названием для булевой переменной — вопрос с ответом да или нет.
- это (is)
- содержит (has/contain)
- может (can)
- должен (shoud)
- возможность (able)
6. Массивы
Это существительные во множественном числе, которые имеют окончание на s и es.
7. Использование коротких имен переменных только для небольшого фрагмента кода
Называйте так переменные, если они не несут смысловой нагрузки, например a , b , c , dg – и используются в небольшом фрагменте кода и их применение очевидно.