2010-06-14 2 views
32

Ho tabella 'servizio' e la seguente descrizione colonna come di seguito
Naming della colonna booleana nella tabella del database

  1. è facile verifica richiesta per il servizio?
  2. È richiesta l'attivazione e-mail dell'utente per il servizio?
  3. È richiesta l'attivazione da parte dell'utente per il servizio?

ho esitato a nominare queste colonne, come di seguito

IsVerificationRequired 
IsEmailActivationRequired 
IsMobileActivationRequired 

o

RequireVerification 
RequireEmailActivation 
RequireMobileActivation 

Non posso determinato da che parte è la migliore .Quindi, è uno di quanto sopra suggerito il nome è il migliore o ce ne sono altri migliori?

risposta

33

vorrei (e fare) uso "IsVerificationRequired"

cerco di aggiungere un significato ai miei nomi delle colonne quindi è ovvio (ValueDate, InsertedDateTime, IsActive, HazCheezBurger, ProductName, ecc). "Isxxxx" implica sì/no ad esempio senza pensare e hai solo 2 stati diversi da "ProductName".

+0

+1 - Prendo lo stesso approccio – AdaTheDev

+1

+1, Isxxx indica chiaramente che è un booleano. –

4

avrei scelto VerificationRequired, EmailActivationRequired ecc

Database è l'istantanea dello stato, in modo che il sopra detto i nomi di colonna va meglio su quelli che hai menzionato, a mio parere.

+0

Sono d'accordo. I nomi delle colonne sotto forma di una domanda sembrano eccessivi. Sarebbe come nominare le colonne FirstName e LastName "WhatIsTheFirstName" e "WhatIsTheLastName". Che è chiaramente stupido. – MJB

+2

ma penso che in alcuni casi tale che sia necessario o vero o falso domanda è così leggibile che determina vero o falso non qualsiasi altro valore –

+1

@ MJB: non sciocco. Potresti anche avere DateVerificationRequired! Sostituisco spesso i campi booleani per i campi data se questo aggiunge ulteriori informazioni (e ovviamente se il valore è soggetto a modifiche). In quel caso un Nullo indica che la condizione non è soddisfatta (ancora). –

13

Eseguire con le varianti Is o almeno scambiare lo Require in Requires. Le booleane dovrebbero essere formulate come domande. Is, Can, Has, Should, sono tutti buoni prefissi per le funzioni/colonne booleane. Vedere 1370840 per ulteriori argomenti su questo

+1

Questa è una domanda interessante da riferire perché si tratta più della convenzione per la denominazione dei metodi getter, non delle variabili. Non conosco altri linguaggi, ma in Java, la convenzione che ho sempre visto utilizza il prefisso "è" per il getter ma NON la variabile. Quindi, per un database, stai considerando un nome di colonna più come un campo o un getter? ;) – spaaarky21

1

Vorrei andare per quello che si adatta maggiormente alla sintassi che si sta utilizzando nel progetto corrente. O uno va bene poiché descrivono cosa contiene la variabile, l'unica cosa di cui devi preoccuparti è che tu mantenga lo stesso standard di denominazione per tutti i tuoi progetti. Se non hai ancora definito uno standard di denominazione per il tuo progetto, il primo sarebbe migliore dato che è lo standard più vicino allo standard di denominazione Java Bean, a cui sono abituati molti sviluppatori.