Префиксы is, has, can, should… в нейминге переменных и функций
Зачем?
Префиксы помогают разработчикам быстро понять предназначение переменных и функций, что особенно полезно в больших проектах или когда код должен быть понятен новым участникам команды. Вот некоторые из популярных:
Префиксы
is,has,can,should:Улучшают читаемость кода: Ясно указывают на то, что переменная содержит логическое (булево) значение.
Упрощают написание условных конструкций: Программист может легко написать условия, основываясь на этих префиксах, например,
if (canSave) {...}.
Префиксы
min,max:Четко определяют ограничения: Помогают установить и соблюдать границы значений для переменных, что важно во многих алгоритмах и бизнес-логиках.
Префиксы
prev,next:Полезны в алгоритмах и структурах данных: Особенно актуальны при работе с списками, деревьями и другими структурами, где необходимо отслеживать элементы до или после текущего.
Префиксы
total,count,num:Описывают количественные характеристики: Идеально подходят для переменных, которые хранят количество элементов, общие суммы и т.д., делая код интуитивно понятным при работе с числами.
Использование этих префиксов не только повышает читаемость кода, но и делает его более структурированным и легким для понимания. Это, в свою очередь, упрощает поддержку и развитие проекта в долгосрочной перспективе.
Переменные
Префикс is
Префикс is обычно используется для булевых переменных, которые представляют состояние или качество. Этот префикс говорит о том, что переменная содержит ответ на вопрос «Это…?» или «Это в состоянии…?». Примеры:
isActive— активен ли?isCompleted— завершен ли?isVisible— видим ли?isStart— это начало?
Префикс has
Префикс has используется, когда переменная указывает на наличие чего-либо. Это может быть свойство, элемент или некоторая возможность. Примеры:
hasChildren— имеются ли дети (подразумеваются дочерние элементы в дереве компонентов, например)?hasHeader— имеется ли заголовок?hasStarted— началось ли что-то?
Примеры выбора
В зависимости от контекста:
Если хотите указать, что процесс или действие началось, правильнее будет использовать
hasStarted.Если переменная должна указывать на то, что какой-то объект или сущность является «стартом» или начальной точкой, лучше подойдет
isStart.
Если ваша переменная должна указывать на то, что сейчас идет начало чего-то (например, начало процесса), можно использовать hasStarted или isStarting. Если же переменная относится к начальной точке или объекту, который является начальным в каком-либо контексте (например, стартовая позиция), тогда isStart может быть более подходящим выбором.
Префикс can
Префикс can используется для переменных, которые указывают на возможность выполнения действия. Это подразумевает разрешение или способность что-то сделать. Например:
canEdit— может ли пользователь редактировать содержимое.canSave— может ли пользователь сохранить изменения.canDelete— может ли пользователь удалить элемент.
Префикс should
Префикс should часто используется для управления условным поведением, особенно в тестах или в коде, где необходимо выполнить условие. Например:
shouldUpdate— должно ли обновиться состояние или компонент.shouldRender— должен ли компонент рендериться.shouldFetchData— должны ли загружаться данные.
Префикс count или num
Для переменных, хранящих числовые значения, особенно если они относятся к количеству чего-либо, можно использовать префикс count или num. Например:
countItems— количество предметов.numPages— количество страниц.countErrors— количество ошибок.
Префикс min и max
Префиксы min и max используются для обозначения минимального и максимального значений соответственно. Это может быть полезно в настройках и конфигурациях. Например:
minLength— минимальная длина.maxHeight— максимальная высота.minPrice— минимальная цена.
Префикс prev и next
Эти префиксы используются для отслеживания предыдущего или следующего состояний в реактивных фреймворках или когда нужно сохранять историю изменений. Например:
Префикс total
Для общих сумм или итоговых значений используется префикс total. Это помогает в расчетах и подведении итогов. Например:
Выбор правильного префикса помогает улучшить понимание кода и упрощает поддержку и расширение программных решений.
Функции
Правильное наименование функций — ключевой момент в создании читаемого и поддерживаемого кода. Префиксы в именах функций могут помочь быстро определить назначение функции и ожидаемое поведение. Вот несколько распространённых префиксов, которые используются в нейминге функций:
1. get
Используется для функций, которые возвращают значение, особенно когда требуется выполнить вычисления или извлечение данных без изменения состояния:
getTotalgetUsernamegetFormattedDate
2. set
Применяется в функциях, которые устанавливают или изменяют значение:
setUsernamesetItemCountsetPreferences
3. calc или calculate
Означает, что функция выполняет некоторые вычисления и возвращает результат:
calculateInterestcalcTotalPricecalculateAge
4. create
Используется для функций, создающих новый объект или экземпляр чего-либо:
createUsercreateReportcreateConnection
5. check
Используется в функциях, которые проверяют условие и обычно возвращают булево значение:
checkValiditycheckStatuscheckPermissions
6. is или has
Применяется для функций, возвращающих булево значение, указывающее на состояние или наличие чего-то:
isActivehasChildrenisAvailable
7. update
Используется для функций, которые обновляют существующие данные или состояние:
updateProfileupdateRecordupdateSettings
8. handle
Часто используется для названия функций-обработчиков, которые реагируют на события:
handleClickhandleInputChangehandleSubmit
9. fetch
Применяется для функций, которые получают данные из внешних источников, например, через API:
fetchDatafetchUserDetailsfetchPosts
10. remove или delete
Используется в функциях, которые удаляют элементы:
removeItemdeleteUserremoveEventListener
11. show или hide
Используется для функций, которые контролируют видимость элементов:
showMenuhideAlertshowMoreDetails
12. toggle
Применяется в функциях, которые переключают состояние между двумя значениями:
toggleCheckboxtoggleVisibilitytoggleFullscreen
Использование этих префиксов помогает улучшить понимание кода, делает его более интуитивно понятным и облегчает поддержку и развитие проектов.
