В моём коде я тщательно выбираю названия переменных.
Проще же найти вещь в одном из сотен ящиков, когда на каждом чётко указано, что в нём лежит.
О переменной нужно думать как об информации, которая в ней лежит, хотя нас учили думать о переменной как о контейнере информации.
Название переменной — это надпись: что лежит внутри контейнера.
Название переменной — это название информации, которая хранится в переменной.
Смысл информации первичен по отношению к контейнеру, в который она заключена.
Смысл — это цель, предназначение, происходящее из предметной области. Смысл — это соответствие значения в памяти и элемента предметной области. Смысл — это про то, как переменная будет использоваться и как не будет.
Контейнер — это просто участок в памяти, о котором большинству программистов уже почти не нужно задумываться в повседневном кодинге.
Примеры неудачных названий: string
, integer
, number
, hash
, object
, array
, value
, data
, item
, json
, response
, request
, result
, tree
, index
— всё это слишком общие названия, они не указывают на конкретные элементы предметной области.
Из этого примера есть небольшое исключение. Если у меня есть функция, внутри которой я делаю произвольный запрос к внешнему API (внутри функции я не знаю, какой именно запрос — это зависит от параметра), и эта функция делает какие-то очень общие вещи, типа отправки запроса и проверки его успешности, то для хранения полного ответа от API трудно придумать другое название переменной кроме как response
.
Примеры удачных названий: required_fields
, telegram_username
, cover_image_url
, input_csv_file_path
, provider_name
, is_published
, country_ids
.
Что дальше
- Точные названия переменных и соответствующее использование
Литература
- Макконнелл С. Совершенный код. Мастер класс. — М.: «Русская редакция», 2017.
- Гудлиф П. Ремесло программиста. Практика написания хорошего кода. — СПб.: Символ-Плюс, 2016.