2012-05-07 13 views
9

ho un tipo enum ...Java Enum Tipo di codificazione Convenzione

public static enum Methods { 
    NOTEQUAL, 
    ORDERED, 
    minMatch, 
    minItem, 
    minLength, 
    sameLength, 
} 

La domanda è come dovrei usare la convenzione di codifica. Dovrei usare CamelCase NotEqual (che uso in una classe semplice) o dovrei fare così: NOT_EQUAL? O semplicemente usa caratteri maiuscoli: NOTEQUAL, SAMELENGTH?

C'è qualche convenzione di codice per questo?

+1

http://stackoverflow.com/questions/3069743/coding-conventions-naming-enums dare un'occhiata a questo argomento. –

+0

Ok, quindi la risposta è "_" mark e high case so che dovrei usare nomi come costanti, ma non sapevo come articolare il nome ... – czupe

+1

In ogni caso grazie Alex Stybaev e Alexender Pavlov, e non il duplicato esatto, perché la domanda era su come fare !!! articolare !! the enums ... – czupe

risposta

30

Direi che l'enum stesso, dal momento che è una classe, dovrebbe seguire la convenzione del caso cammello come ogni classe, mentre le voci di enum, poiché sono costanti, devono essere maiuscole con underscore (ad esempio NOT_EQUAL).

La versione in maiuscolo senza trattino basso è assolutamente illeggibile, mai usata.

+0

+1 - strada da percorrere. – Romain

+1

E il nome della classe è solitamente singolare (-> "Metodo" non "Metodi") – Puce

+2

Solo per riferimento futuro, [le persone java sono d'accordo] (http://docs.oracle.com/javase/tutorial/java/javaOO/ enum.html): "Poiché sono costanti, i nomi dei campi di un enum sono in lettere maiuscole." – Lucas

3

vedere il seguente discussione:

Coding Conventions - Naming Enums

mio punto di vista è che enum è come costanti in modo che dovrebbe essere tutto maiuscolo.

+0

Un enum non è certo come una costante, è un tipo, come una classe. I valori enumerati potrebbero essere considerati come costanti (se questo è ciò che intendevi, dovresti correggere il tuo testo). Una variabile di un tipo di enum potrebbe essere considerata una costante, se dichiarata finale. – EricS