Префиксы is, has, can, should… в нейминге переменных и функций

в 12:37, , рубрики: префиксы

Зачем?

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

  1. Префиксы is, has, can, should:

    • Улучшают читаемость кода: Ясно указывают на то, что переменная содержит логическое (булево) значение.

    • Упрощают написание условных конструкций: Программист может легко написать условия, основываясь на этих префиксах, например, if (canSave) {...}.

  2. Префиксы min, max:

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

  3. Префиксы prev, next:

    • Полезны в алгоритмах и структурах данных: Особенно актуальны при работе с списками, деревьями и другими структурами, где необходимо отслеживать элементы до или после текущего.

  4. Префиксы 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

Эти префиксы используются для отслеживания предыдущего или следующего состояний в реактивных фреймворках или когда нужно сохранять историю изменений. Например:

  • prevValue — предыдущее значение переменной.

  • nextItem — следующий элемент в списке.

Префикс total

Для общих сумм или итоговых значений используется префикс total. Это помогает в расчетах и подведении итогов. Например:

  • totalPrice — общая цена.

  • totalScore — общий счет.

Префикс to

Для обозначения переменных, которые содержат объекты или коллекции объектов, над которыми нужно произвести определенное действие.

  • toDelete — список объектов или индексов, которые нужно удалить.

  • toKeep — список объектов или индексов, которые нужно оставить.

  • toUpdate — элементы, которые нужно обновить.

Эти переменные помогают быстро понять, какое действие будет выполнено над данными. Например, переменная toDelete сразу подсказывает, что она содержит объекты, которые будут удалены.

Выбор правильного префикса помогает улучшить понимание кода и упрощает поддержку и расширение программных решений.

Функции

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

Префикс get

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

  • getTotal

  • getUsername

  • getFormattedDate

Префикс set

Применяется в функциях, которые устанавливают или изменяют значение:

  • setUsername

  • setItemCount

  • setPreferences

Префикс calc или calculate

Означает, что функция выполняет некоторые вычисления и возвращает результат:

  • calculateInterest

  • calcTotalPrice

  • calculateAge

Префикс create

Используется для функций, создающих новый объект или экземпляр чего-либо:

  • createUser

  • createReport

  • createConnection

Префикс check

Используется в функциях, которые проверяют условие и обычно возвращают булево значение:

  • checkValidity

  • checkStatus

  • checkPermissions

Префикс is или has

Применяется для функций, возвращающих булево значение, указывающее на состояние или наличие чего-то:

  • isActive

  • hasChildren

  • isAvailable

Префикс update

Используется для функций, которые обновляют существующие данные или состояние:

  • updateProfile

  • updateRecord

  • updateSettings

Префикс handle

Часто используется для названия функций-обработчиков, которые реагируют на события:

  • handleClick

  • handleInputChange

  • handleSubmit

Префикс fetch

Применяется для функций, которые получают данные из внешних источников, например, через API:

  • fetchData

  • fetchUserDetails

  • fetchPosts

Префикс remove или delete

Используется в функциях, которые удаляют элементы:

  • removeItem

  • deleteUser

  • removeEventListener

Префикс show или hide

Используется для функций, которые контролируют видимость элементов:

  • showMenu

  • hideAlert

  • showMoreDetails

Префикс toggle

Применяется в функциях, которые переключают состояние между двумя значениями:

  • toggleCheckbox

  • toggleVisibility

  • toggleFullscreen

Префикс/cуффикс to

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

  • toReadableDate — преобразование даты в читаемый формат

  • toDictionary — преобразование массива объектов в словарь

Суфикс вносит ясности:

  • serializeToJSON — сериализация данных в формат JSON.

  • convertToXML — преобразование данных в формат XML.

  • exportToCSV — экспорт данных в формат CSV.

  • transformToHTML — преобразование данных в HTML.

Эти функции ясно указывают, что они выполняют преобразование данных в определенный формат.

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

Автор: Игорь Теплостанский

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js