Название переменной


В моём коде я тщательно выбираю названия переменных.

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

О переменной нужно думать как об информации, которая в ней лежит, хотя нас учили думать о переменной как о контейнере информации.

Название переменной — это надпись: что лежит внутри контейнера.

Название переменной — это название информации, которая хранится в переменной.

Смысл информации первичен по отношению к контейнеру, в который она заключена.

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

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

Примеры неудачных названий: stringintegernumberhashobjectarrayvaluedataitemjsonresponserequestresulttreeindex — всё это слишком общие названия, они не указывают на конкретные элементы предметной области.

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

Примеры удачных названий: required_fieldstelegram_usernamecover_image_urlinput_csv_file_pathprovider_nameis_publishedcountry_ids.

Что дальше

  • Точные названия переменных и соответствующее использование

Литература

  • Макконнелл С. Совершенный код. Мастер класс. — М.: «Русская редакция», 2017.
  • Гудлиф П. Ремесло программиста. Практика написания хорошего кода. — СПб.: Символ-Плюс, 2016.