Какие имена переменной правильные
Перейти к содержимому

Какие имена переменной правильные

  • автор:

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

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Более новая информация по этой теме находится на странице https://learn.javascript.ru/variables.

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

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

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

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

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

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

  • Правило 1.Никакого транслита. Только английский. Неприемлемы:
var moiTovari; var cena; var ssilka;
var myGoods; var price; var link;
var borderLeftWidth;

Этот способ записи называется «верблюжьей нотацией» или, по-английски, «camelCase». Существует альтернативный стандарт, когда несколько слов пишутся через знак подчёркивания ‘_’ :

var border_left_width;

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

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

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

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

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

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

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

Если коротко…

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

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

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

Храните в переменной то, что следует

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

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

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

«Лишняя» переменная – добро, а не зло.

Понятные названия

Названия должны однозначно говорить о том, зачем нужна сущность: переменная, функция или что-то ещё.

Переменные – это сущности, а их названия – это существительные ( user.level ) или их свойства ( user.is_admin ). Название должно ясно ответить на вопрос «Что хранит переменная?».

Функции что-то делают с переменными, значит их названия – глаголы ( download_report , levelup_user ), и они отвечают на вопрос «Что делает функция?». Ответ должен быть полным, исчерпывающим. Например, недопустима ситуация когда def fetch_page(url) делает что-то неожиданное, не предусмотренное названием: выводит в консоль, вызывает exit(‘Случилась ошибка. Все сломалось’) и прочее.

Названия должны быть:

  • понятными: понятно говорить о смысле. Не result , а users_online или json_content .
  • точными: переменная user_online не подходит для хранения списка пользователей. Такое название вводит в заблуждение и провоцирует на ошибки в коде. Корректный вариант — users_online .
  • полными: никаких r для радиуса Земли или i для элемента списка. В первом случае подойдёт earth_radius , а во втором какой-нибудь user или book , в зависимости от того, что в списке. Длинные названия – не проблема, у всех давно есть автокомплит.
  • на английском: никаких kniga или polsovatel . Брр.
  • грамотными: не поленись открыть переводчик и гугл, чтобы подобрать правильный перевод. Неправильный перевод создаёт ощущение неряшливости, а может и смыслу навредить – тогда о читаемости не может быть и речи.
  • уникальными: в Питоне есть встроенные функции, называть переменные их именами нельзя: тогда функция станет недоступна. Среди них есть file, dict, all, str.

Читайте дальше

Попробуйте бесплатные уроки по Python

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

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Переменные в Python для начинающих

Любая программы состоит из набора команд и данных. Так вот, чтобы хранить данные, в любом языке программирования, и Python не исключение, есть такое понятие как переменные.

Переменная это не что иное, как имя, с помощью которого можно обратиться к данным, сохраненным в памяти компьютера. Другими словами, переменная — это именованная область памяти. Чтобы создать переменную и назначить ей значение используется оператор присваивания. Вот несколько примеров того, как создается, или, как говорят программисты, «объявляется» переменная

first = "синий"
second = 23

Синтаксис «объявления» прост: достаточно написать имя переменной, знак «=» и значение переменной. У разных переменных могут быть разные типы данных. В нашем примере переменная first является строкой, а переменная second — числом. В Python, кроме строк и чисел, есть и другие типы данных. Если вы начинающий программист и не знаете, что такое типы данных, не переживайте, об этом будет рассказано чуть позже.

Самое простое, что можно сделать с переменной, это вывести на экран ее значение.

first = "синий"
second = 23
print(first, second)

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

Имена переменных ¶

Следует придерживаться нескольких несложных правил при выборе имен переменных:

  1. Имя переменной может содержать только латинские буквы, числа и символ нижнего подчеркивания;
  2. Имя переменной не должно содержать пробелов;
  3. Имя переменной не должно начинаться с цифры;
  4. Регистр важен: var и Var это разные переменные.

Называя переменные помните, что имена переменных не должны совпадать с ключевыми словами и наименованиями встроенных функций . Их использование в языке Python предназначено для других целей, которые нам с вами предстоит узнать позже и называть так переменные нельзя.

Хотите выучить Python на практике?

Переменные#

Переменные в Python не требуют объявления типа переменной (так как Python – язык с динамической типизацией) и являются ссылками на область памяти. Правила именования переменных:

  • имя переменной может состоять только из букв, цифр и знака подчёркивания;
  • имя не может начинаться с цифры;
  • имя не может содержать специальных символов @, $, %.

Пример создания переменных в Python:

In [1]: a = 3 In [2]: b = 'Hello' In [3]: c, d = 9, 'Test' In [4]: print(a,b,c,d) 3 Hello 9 Test 

Обратите внимание, что в Python не нужно указывать, что «a» это число, а «b» это строка.

Переменные являются ссылками на область памяти. Это можно продемонстрировать с помощью id(), которая показывает идентификатор объекта:

In [5]: a = b = c = 33 In [6]: id(a) Out[6]: 31671480 In [7]: id(b) Out[7]: 31671480 In [8]: id(c) Out[8]: 31671480 

В этом примере видно, что все три имени ссылаются на один и тот же идентификатор, то есть, это один и тот же объект, на который указывают три ссылки – «a», «b» и «c». С числами у Python есть одна особенность, которая может немного сбить с понимания: числа от -5 до 256 заранее созданы и хранятся в массиве (списке). Поэтому при создании числа из этого диапазона фактически создаётся ссылка на число в созданном массиве.

Эта особенность характерна именно для реализации CPython, которая рассматривается в книге

Это можно проверить таким образом:

In [9]: a = 3 In [10]: b = 3 In [11]: id(a) Out[11]: 4400936168 In [12]: id(b) Out[12]: 4400936168 In [13]: id(3) Out[13]: 4400936168 

Обратите внимание, что a , b и число 3 имеют одинаковые идентификаторы. Все они являются ссылками на существующее число в списке.

Если сделать то же самое с числом больше 256, идентификаторы у всех будут разные:

In [14]: a = 500 In [15]: b = 500 In [16]: id(a) Out[16]: 140239990503056 In [17]: id(b) Out[17]: 140239990503032 In [18]: id(500) Out[18]: 140239990502960 

При этом, если сделать присваивание переменных друг другу, то идентификаторы будут у всех одинаковые (в таком варианте a , b и c ссылаются на один и тот же объект):

In [19]: a = b = c = 500 In [20]: id(a) Out[20]: 140239990503080 In [21]: id(b) Out[21]: 140239990503080 In [22]: id(c) Out[22]: 140239990503080 

Имена переменных#

Имена переменных не должны пересекаться с названиями операторов и модулей или же других зарезервированных слов. В Python есть рекомендации по именованию функций, классов и переменных:

  • имена переменных обычно пишутся или полностью большими или полностью маленькими буквами (например DB_NAME, db_name);
  • имена функций задаются маленькими буквами, с подчёркиваниями между словами (например, get_names);
  • имена классов задаются словами с заглавными буквами без пробелов, это так называемый CamelCase (например, CiscoSwitch).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *