Si dovrebbe sempre iniziare un booleano con "è" o "ha"? O scrivi come ha più senso grammaticalmente?

-5

Esempi:

isKeyValid -> keyIsValid 
hasPostThumbnail -> postHasThumbnail

Il primo caso è più facile da ricordare (convenzione). Il secondo è più facile / più naturale da leggere.

Quale dovrei usare?

    
posta alex 04.05.2016 - 18:30
fonte

2 risposte

0

Usa quale convenzione preferisci e vivi con le conseguenze. La maggior parte dei lettori del tuo codice saprà come interpretare i prefissi "è" e "ha". Per questo motivo raccomando di usare la convenzione. È utile per gli altri.

Inoltre, considera ciò che "ha senso grammaticalmente" in realtà significa in un contesto di codifica. Non confondere la grammatica della tua lingua parlata e le convenzioni di denominazione del linguaggio di codifica. "IsKeyValid" e "KeyIsValid" o addirittura "Key.IsValid" sono tutte "cose" con nomi, non frasi. Se combinati con la sintassi della lingua, saranno interpretati in frasi inglesi a seconda del contesto. Ad esempio: if (IsKeyValid) {} verrà interpretato come "se la chiave è valida ..." e if (!Key.IsValid) {} verrà interpretata come "se la chiave non è valida ...". Un esempio assurdo di valore anomalo potrebbe essere if (!_bool_VALIDCONST_glbKeys){} . Tuttavia sarà interpretato allo stesso modo, ma con maggiore difficoltà e tempo. Quindi convenzioni di denominazione.

    
risposta data 04.05.2016 - 19:02
fonte
-1

Non è necessario iniziare sempre con "è" o "ha". In alcune situazioni, altre parole potrebbero essere applicabili, ma dovrebbero comunque avere una chiara indicazione di cosa significano le risposte Vero / Falso. per esempio.

  • canMarry - Vero se oltre l'età del consenso e sia (non è sposato o in una cultura che consente la poligamia)
  • wasMarried - Falso se non è mai stato sposato o (è divorziato / vedovo e non risposato)

Ricorda che gli stati booleani non sono comuni nel mondo reale; le scale di grigio sono più comuni. Ad esempio, "canMarry" non contempla esclusioni legali come non essere in grado di sposare tua madre; 'wasmarried' richiede una definizione di cosa costituisce il matrimonio (include i partenariati civili legali, che sono considerati equivalenti al matrimonio per alcuni regimi pensionistici ma non tutti i sistemi pensionistici?).

    
risposta data 26.05.2016 - 13:39
fonte

Leggi altre domande sui tag