I Shar

I Shar

мир глазами веб-разработчика

Префиксы в именах логических переменных

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

I Shar

время чтения 2 мин.

Photo by Ferenc Horvath on Unsplash

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

Префиксы - это хорошо, но не обязательно

Префиксы в именах логических переменных могут ухудшать понимание. Нет необходимости манипулировать приставками is или has, если наименование объекта однозначно определяет смысл происходящего.

С префиксом

const isPrefixVisible;
const hasVisiblePrefix;

Без префикса

const prefixVisible;
const visiblePrefix;

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


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

С префиксом

const arePrefixesNeccessary;
const isEveryPrefixNeccessary;

Без префикса

const prefixesNeccessary;
const everyPrefixNeccessary;

Вышеприведенный пример демонстрирует, как префикс указывает на использование переменной для группы объектов (are) или только для одного уникального объетка (is). Но и в этом случае можно использовать более понятный и короткий синтаксис, не прибегая к использованию префиксов.

Практическое использование

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

// Читается не достаточно легко
if(isPrefixVisible)
// Легко читается
if(prefixVisible)


Данное руководство не призывает Вас менять существующий код в проектах. Оно позволяет выйти из тупика, если Вы испытываете трудности при выборе имен булевых перменных.

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


Спасибо за внимание.


По материалам статьи Juan Bernal “Naming Boolean Variables: Prefixes”.

    • frontend
    • js

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.