2010-06-14 4 views
32

J'ai table « service » et la description de la colonne suivante comme ci-dessous
Naming de la colonne booléenne dans la table de base de données

  1. est facile à utiliser pour le service de vérification requis?
  2. Est-ce que l'activation e-mail de l'utilisateur requis pour le service?
  3. L'activation mobile de l'utilisateur est-elle requise pour le service?

Je hésitons en nommant ces colonnes comme ci-dessous

IsVerificationRequired 
IsEmailActivationRequired 
IsMobileActivationRequired 

ou

RequireVerification 
RequireEmailActivation 
RequireMobileActivation 

Je ne peux pas déterminé quelle manière est la meilleure .Donc, est l'un des mentionnés plus haut le nom est le meilleur ou existe-t-il d'autres meilleurs?

Répondre

33

Je voudrais (et faire) utiliser "IsVerificationRequired"

J'essaie d'ajouter un peu de sens à mes noms de colonnes il est évident (ValueDate, InsertedDateTime, IsActive, HazCheezBurger, ProductName etc). « Isxxxx » implique oui/non par exemple sans penser et vous avez seulement 2 états à la différence « ProductName ».

+0

+1 - Je prends la même approche – AdaTheDev

+1

+1, Isxxx indique clairement que c'est un booléen. –

4

Je choisirais VerificationRequired, EmailActivationRequired etc.

Base de données est l'instantané de l'état, de sorte que le dit ci-dessus les noms de colonnes va mieux sur ceux que vous avez mentionnés à mon avis.

+0

Je suis d'accord. Les noms de colonne sous la forme d'une question semblent être exagérés. Ce serait comme nommer les colonnes FirstName et LastName "WhatIsTheFirstName" et "WhatIsTheLastName". Ce qui est clairement stupide. – MJB

+2

mais je pense que dans certains cas, comme ce qui ont besoin soit question vrai ou faux est si lisible qui déterminent vrai ou faux pas d'autre valeur –

+1

@MJB: Pas bête. Vous pourriez également avoir DateVerificationRequired! Je remplace souvent les champs booléens par des champs de date si cela ajoute des informations supplémentaires (et bien sûr si la valeur est sujette à changement). Dans ce cas, un Null indique que la condition n'est pas encore remplie. –

13

Exécutez avec les variantes Is ou, à tout le moins, remplacez Require par Requires. Les booléens devraient être formulés comme des questions. Est, Can, Has, Should, ils sont tous de bons préfixes pour les fonctions/colonnes booléennes. Voir 1370840 pour plus d'arguments sur ce

+1

C'est une question intéressante à faire référence car il s'agit plus de la convention pour nommer les méthodes getter, pas de variables. Je ne connais pas d'autres langages mais en Java, la convention que j'ai toujours vue utilise le préfixe "is" pour le getter mais PAS la variable. Donc, pour une base de données, considérez-vous un nom de colonne plus comme un champ ou un getter? ;) – spaaarky21

1

Je voudrais aller à celui qui correspond le plus à la syntaxe que vous utilisez dans votre projet actuel. L'un ou l'autre est correct car ils décrivent ce que la variable contient, la seule chose dont vous devez vous inquiéter est que vous gardiez la même norme de nommage pour tout votre projet. Si vous n'avez pas encore choisi de norme de nommage pour votre projet, le premier serait meilleur car c'est ce qui est le plus proche de la norme de nommage Java Bean, ce à quoi de nombreux développeurs sont habitués.