Skip to content

Latest commit

 

History

History
114 lines (67 loc) · 9.42 KB

File metadata and controls

114 lines (67 loc) · 9.42 KB

archive: ref: variables#name-things-right


Правильный выбор имени переменной

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

Дело в том, что большую часть времени мы тратим не на изначальное написание кода, а на его развитие.

Возможно, эти слова не очевидны, если вы пока что ничего большого не писали или пишете код "только для записи" (write-only, написал 5 строк, отдал заказчику и забыл). Но чем более серьёзные проекты вы будете делать, тем более актуальны они будут для вас.

Что такое это "развитие"? Это когда я вчера написал код, а сегодня (или спустя неделю) прихожу и хочу его поменять. Например, вывести сообщение не так, а эдак... Обработать товары по-другому, добавить функциональность.. А где у меня там сообщение хранится? А где товар?...

Гораздо проще найти нужные данные, если они правильно помечены, то есть когда переменная названа правильно.

Правила именования

  • Правило 1.

    Никакого транслита. Только английский.

    Неприемлемы:

    var moiTovari;
    var cena;
    var ssilka;

    Подойдут:

    var myGoods;
    var price;
    var link;

    Чем плох транслит?

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

    Во-вторых, русский транслит хуже читается и длиннее, чем названия на английском.

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

    Если вы, вдруг, не знаете английский -- самое время выучить.

  • Правило 2.

    Использовать короткие имена только для переменных "местного значения".

    Называть переменные именами, не несущими смысловой нагрузки, например a, e, p, mg -- можно только в том случае, если они используются в небольшом фрагменте кода и их применение очевидно.

    Вообще же, название переменной должно быть понятным. Иногда для этого нужно использовать несколько слов.

  • Правило 3.

    Переменные из нескольких слов пишутся вместеВотТак.

    Например:

    var borderLeftWidth;

    Этот способ записи называется "верблюжьей нотацией" или, по-английски, "camelCase".

    Существует альтернативный стандарт, когда несколько слов пишутся через знак подчёркивания '_':

    var border_left_width;

    Преимущественно в JavaScript используется вариант borderLeftWidth, в частности во встроенных языковых и браузерных функциях. Поэтому целесообразно остановиться на нём.

    Ещё одна причина выбрать "верблюжью нотацию" -- запись в ней немного короче, чем с подчёркиванием, т.к. не нужно вставлять '_'.

  • Правило последнее, главное.

    Имя переменной должно максимально чётко соответствовать хранимым в ней данным.

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

Позвольте поделиться одним небольшим секретом, который очень прост, но позволит улучшить названия переменных и сэкономит время.

Бывает так, что, написав код, мы через некоторое время к нему возвращаемся, надо что-то поправить. И мы примерно помним, что переменная, в которой хранится нужное вам значение, называется... Ну, скажем, borderLeftWidth. Мы ищем её в коде, не находим, но, разобравшись, обнаруживаем, что на самом деле переменная называлась вот так: leftBorderWidth.

Если мы ищем переменную с одним именем, а находим -- с другим, то зачастую самый лучший ход -- это переименовать переменную, чтобы имя было тем, которое вы искали.

То есть, в коде leftBorderWidth, а мы её переименуем на ту, которую искали: borderLeftWidth.

Зачем? Дело в том, что в следующий раз, когда вы захотите что-то поправить, то вы будете искать по тому же самому имени. Соответственно, это сэкономит вам время.

Есть причина и поважнее. Поскольку именно это имя переменной пришло в голову -- скорее всего, оно больше соответствует хранимым там данным, чем то, которое мы придумали изначально. Исключения бывают, но в любом случае -- такое несовпадение -- это повод задуматься.

Чтобы удобно переименовывать переменную, нужно использовать хороший редактор JavaScript, тогда этот процесс будет очень простым и быстрым.

Смысл имени переменной -- это "имя на коробке", по которому мы сможем максимально быстро находить нужные нам данные.

**Не нужно бояться переименовывать переменные, если вы придумали имя получше.**

Современные редакторы позволяют делать это очень удобно и быстро. Это в конечном счёте сэкономит вам время.
Бывают ленивые программисты, которые, вместо того чтобы объявить новую переменную, используют существующую.

В результате получается, что такая переменная -- как коробка, в которую кидают то одно, то другое, то третье, при этом не меняя название. Что в ней лежит сейчас? А кто его знает... Нужно подойти, проверить.

Сэкономит такой программист время на объявлении переменной -- потеряет в два раза больше на отладке кода.

**"Лишняя" переменная -- добро, а не зло.**