Именование логического столбца в таблице базы данных - PullRequest
41 голосов
/ 14 июня 2010

У меня есть таблица «Сервис» и описание следующего столбца, как показано ниже

  1. Требуется ли для службы подтверждение пользователя?
  2. Требуется ли для службы активация электронной почты пользователя?
  3. Требуется ли для службы активация мобильного пользователя?

Не могу назвать эти столбцы, как показано ниже

IsVerificationRequired
IsEmailActivationRequired
IsMobileActivationRequired

или

RequireVerification
RequireEmailActivation
RequireMobileActivation

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

Ответы [ 4 ]

41 голосов
/ 14 июня 2010

Я бы (и должен) использовать «IsVerificationRequired»

Я пытаюсь добавить какое-то значение в имена моих столбцов, чтобы это было очевидно (ValueDate, InsertedDateTime, IsActive, HazCheezBurger, ProductName и т. Д.).«Isxxxx» подразумевает да / нет, например, не думая, и , у вас есть только 2 состояния в отличие от «ProductName».

16 голосов
/ 14 июня 2010

Запуск с вариантами Is или, по крайней мере, замена Require на Requires. Булевы значения должны быть сформулированы как вопросы. Есть, может, имеет, должен, они все хорошие префиксы для булевых функций / столбцов. См. 1370840 для дополнительных аргументов по этому

6 голосов
/ 14 июня 2010

Я бы выбрал VerificationRequired, EmailActivationRequired и т. Д.

База данных - это снимок состояния, поэтому вышеупомянутые имена столбцов идут лучше тех, что вы упомянули, на мой взгляд.

1 голос
/ 14 июня 2010

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

...