2010-06-14 2 views
32

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

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

Я затрудняюсь в обозначении этих столбцов, как показано ниже

IsVerificationRequired 
IsEmailActivationRequired 
IsMobileActivationRequired 

или

RequireVerification 
RequireEmailActivation 
RequireMobileActivation 

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

ответ

33

Я бы (и делают) использовать "IsVerificationRequired"

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

+0

+1 - Я использую тот же подход – AdaTheDev

+1

+1, Isxxx указывает, что это логическое значение. –

4

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

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

+0

Согласен. Имена столбцов в форме вопроса кажутся излишними. Это было бы похоже на имена столбцов FirstName и LastName «WhatIsTheFirstName» и «WhatIsTheLastName». Что явно глупо. – MJB

+2

, но я думаю, что в каком-то случае такое, которое требует либо истинного, либо ложного вопроса, настолько читаемо, что определяет true или false, а не какое-либо другое значение. –

+1

@MJB: Не глупо. Вы также можете использовать DateVerificationRequired! Я часто заменяю логические поля по полям даты, если это добавляет дополнительную информацию (и, конечно, если значение может быть изменено). В этом случае Null указывает, что условие не выполнено (пока). –

13

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

+1

Это интересный вопрос для ссылки, потому что это скорее соглашение об именах методов геттера, а не переменных. Я не знаю о других языках, но в Java, соглашение, которое я всегда видел, это использовать префикс «is» для getter, но НЕ переменную. Итак, для базы данных вы рассматриваете имя столбца больше как поле или геттер? ;) – spaaarky21

1

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

Смежные вопросы