2012-05-07 11 views
9

mam typu enum ...Java Enum Rodzaj standardy kodowania

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

Pytanie brzmi, jak należy używać konwencji kodowania. Czy powinienem używać camelCase NotEqual (której używam w prostej klasie), czy powinienem to zrobić: NOT_EQUAL? Lub po prostu użyj wielkich liter: NOTEQUAL, SAMELENGTH?

Czy istnieje jakaś konwencja dotycząca tego kodu?

+1

http://stackoverflow.com/questions/3069743/coding-conventions-naming-enums spojrzeć na ten temat. –

+0

OK, więc odpowiedź brzmi "_" i duże litery. Wiem, że powinienem używać nazwy jak stałe, ale nie wiedziałem, jak nazwać nazwę ... – czupe

+1

W każdym razie dziękuję Alex Stybaev i Alexender Pavlov, a nie dokładny duplikat, ponieważ pytanie brzmiało o tym, jak !!! artykułować! the enums ... – czupe

Odpowiedz

30

powiedziałbym, że sam enum, ponieważ jest to klasa, należy postępować zgodnie z konwencją case wielbłąda jak każdej klasie, natomiast wpisy wyliczenia, ponieważ są one stałe, powinny być górną obudowę podkreślenia (np. NOT_EQUAL).

Wersja bez żadnych podkreśleń jest absolutnie nieczytelna, nigdy jej nie używaj.

+0

+1 - droga do celu. – Romain

+1

A nazwa klasy jest zwykle w liczbie pojedynczej (-> "Metoda", a nie "Metody") – Puce

+2

Tylko dla przyszłego odniesienia, [ludzie java zgadzają się] (http://docs.oracle.com/javase/tutorial/java/javaOO/ enum.html): 'Ponieważ są to stałe, nazwy pól typu wyliczeniowego są pisane wielkimi literami." – Lucas

3

Patrz poniższa dyskusja:

Coding Conventions - Naming Enums

mojego punktu widzenia jest to, że wyliczenia stałych tak jak powinny one być wielkimi literami.

+0

Wyliczenie z pewnością nie przypomina stałej, jest typem, jak klasa. Wyliczone wartości mogą być traktowane jako stałe (jeśli masz na myśli poprawkę). Zmienna typu wyliczeniowego może być uważana za stałą, jeśli jest deklarowana. – EricS