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

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

Советы по соглашению об именах

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

Подход

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

Позвольте мне показать вам на примере. В этих именах, какое вам удобнее — isVisible, isInvisible?

!isVisible   // simple
!isInvisible   // unnecessarily complex

Подумайте о случаях, когда вам нужно написать об отрицании, это становится все труднее представить. Верно?

Когда вы смотрите на переменную с правдивой точки зрения, это приводит к ненужной сложности и в других случаях. Например, когда вы имеете дело с операторами отрицания, связанными с переменной, вам не нужно думать о переменной и отрицании кода вместе. Вы можете сократить это до символа отрицания, как показано ниже.

! isVisible

Подводя итог этому разделу, скажем, что, поскольку значения истинности true и false являются взаимоисключающими, используйте истинный «подход» и позвольте коду отрицания входить, когда вы хотите объяснить значение false.

Предпочитаю существительные

Постарайтесь, чтобы это было как можно проще, с легко узнаваемыми, популярными именами или существительными для всех вокруг. Думайте логично, думайте правдиво. Придерживайтесь этой формулы: есть / имеет + существительное.

Кроме того, было бы здорово, если бы вы создавали свои имена, используя существительные вместо глаголов. Глаголы дают больше действия и добавляют к нему мыслительный процесс, тогда как существительные дают ощущение статичности и меньше мыслей. Например, shouldShow vs isVisible. Вы всегда можете перестроить свое мышление, чтобы получить форму существительного, а не форму глагола.

Оставайтесь в настоящем

Используйте настоящее время в переменных. Это проще представить по сравнению с прошлыми и будущими терминами, такими как приведенные ниже.

isVisible // good
wasVisible  // bad

Кроме того, не имеет особого смысла использовать прошлые или будущие термины в коде. Когда код выполняется, он находится в настоящем. Надеюсь, вы уловили иронию.

Примеры

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


+=================+===============================================+
|      Good       |                  Not so good                  |
+=================+===============================================+
| isOpen          |  isClosed                                     |
+-----------------+-----------------------------------------------+
| isVisible       |  isInvisible, isHidden, isShowing, show, hide |
+-----------------+-----------------------------------------------+
| isResolved      | isRejected                                    |
+-----------------+-----------------------------------------------+
| isRight, isGood | isWrong, isLeft, isBad                        |
+-----------------+-----------------------------------------------+
| hasValue        | isEmpty                                       |
+-----------------+-----------------------------------------------+
| isDefined       | isUndefined                                   |
+-----------------+-----------------------------------------------+
| isOwner         | isOwning, own, wasOwner, willBeOwner          |
+-----------------+-----------------------------------------------+

Большое спасибо за чтение этой статьи. Если вам это нравится или у вас есть какие-то предложения, не стесняйтесь скинуться через комментарии. Хорошего дня!