2010-06-14 13 views
32

que tiene la tabla 'Servicio' y la siguiente descripción de la columna de la siguiente manera
de nombres de columna en la tabla de base de datos booleano

  1. Se requiere la verificación del usuario para el servicio?
  2. ¿Se requiere la activación del correo electrónico del usuario para el servicio?
  3. ¿Se requiere la activación móvil del usuario para el servicio?

vacilo en el nombramiento de estas columnas de la siguiente manera

IsVerificationRequired 
IsEmailActivationRequired 
IsMobileActivationRequired 

o

RequireVerification 
RequireEmailActivation 
RequireMobileActivation 

No puedo determinado cuál es la mejor manera .Así, es uno de los anteriores sugerido el nombre es el mejor o hay otros mejores?

Respuesta

33

lo haría (y lo hacen) utilizar "IsVerificationRequired"

trato de añadir un poco de sentido a mis nombres de columna así que es obvio (ValueDate, InsertedDateTime, IsActive, HazCheezBurger, ProductName etc). "Isxxxx" implica sí/no, por ejemplo, sin pensar y, usted solo tiene 2 estados a diferencia de "NombreProducto".

+0

+1 - Tomo el mismo enfoque – AdaTheDev

+1

+1, Isxxx indica claramente que es un booleano. –

4

yo elegiría VerificationRequired, etc. EmailActivationRequired

base de datos es la instantánea del estado, por lo que el por encima de dicha nombres de columna va mejor sobre los que usted ha mencionado en mi opinión.

+0

Estoy de acuerdo. Los nombres de las columnas en forma de pregunta parecen excesivos. Sería como nombrar las columnas FirstName y LastName "WhatIsTheFirstName" y "WhatIsTheLastName". Lo cual es claramente tonto. – MJB

+2

pero creo que en algún caso tal que necesite una pregunta verdadera o falsa sea tan legible que determine verdadero o falso, no cualquier otro valor –

+1

@MJB: No es tonto. ¡También podría tener la fecha de verificación requerida! A menudo reemplazo campos booleanos por campos de fecha si eso agrega información adicional (y por supuesto si el valor está sujeto a cambios). En ese caso, un nulo indica que la condición no se cumple (todavía). –

13

Ejecutar con las variantes Is, o al menos cambiar la Require a Requires. Los booleanos deben formularse como preguntas. Is, Can, Has, Should, son todos buenos prefijos para funciones/columnas booleanas. Ver 1370840 para más argumentos en este

+1

Esa es una pregunta interesante de referencia porque se trata más de la convención para nombrar métodos getter, no variables. No sé sobre otros idiomas, pero en Java, la convención que siempre he visto es usar el prefijo "es" para el captador pero NO la variable. Entonces, para una base de datos, ¿está considerando un nombre de columna más parecido a un campo o un getter? ;) – spaaarky21

1

Me gustaría ir por el que se ajusta más a la sintaxis que está utilizando en su proyecto actual. Cualquiera de los dos está bien, ya que describen lo que contiene la variable, de lo único que debe preocuparse es que mantenga el mismo estándar de denominación para todo su proyecto. Si aún no ha decidido ningún estándar de nombres para su proyecto, el primero sería mejor, ya que es lo que está más cerca del estándar de nombres Java Bean, que es algo que muchos desarrolladores están acostumbrados.

Cuestiones relacionadas