2012-05-07 61 views
9

Tôi có một kiểu enum ...Java Enum Loại Mã hóa ước

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

Câu hỏi đặt ra là làm thế nào tôi nên sử dụng quy ước mã hóa. Tôi có nên sử dụng camelCase NotEqual (mà tôi sử dụng trong một lớp đơn giản) hay tôi nên làm như thế này: NOT_EQUAL? Hoặc chỉ cần sử dụng các ký tự viết hoa: NOTEQUAL, SAMELENGTH?

Có quy ước mã nào cho điều này không?

+1

http://stackoverflow.com/questions/3069743/coding-conventions-naming-enums hãy xem chủ đề đó. –

+0

Ok, do đó, câu trả lời là "_" đánh dấu và trường hợp cao tôi biết tôi nên sử dụng tên như hằng số, nhưng tôi không biết làm thế nào để khớp tên ... – czupe

+1

Dù sao cảm ơn bạn Alex Stybaev và Alexender Pavlov, và không phải là chính xác trùng lặp, bởi vì câu hỏi là về làm thế nào để !!! articulate !! enums ... – czupe

Trả lời

30

Tôi sẽ nói rằng bản thân enum, vì nó là một lớp, nên tuân theo quy ước trường hợp lạc đà như mọi lớp, trong khi các mục nhập của enum, vì chúng là hằng số, nên là chữ hoa với dấu gạch dưới (ví dụ: NOT_EQUAL).

Chữ hoa phiên bản không có dấu gạch dưới là hoàn toàn không thể đọc được, không bao giờ sử dụng nó.

+0

+1 - con đường để đi. – Romain

+1

Và tên lớp thường là số ít (-> "Phương thức" không phải là "Phương thức") – Puce

+2

Chỉ để tham khảo trong tương lai, [java people agree] (http://docs.oracle.com/javase/tutorial/java/javaOO/ enum.html): 'Bởi vì chúng là hằng số, tên của một trường kiểu enum là chữ hoa. ' – Lucas

3

Xem thảo luận sau đây:

Coding Conventions - Naming Enums

điểm riêng của tôi về quan điểm là enum rằng cũng giống như hằng số vì vậy họ phải được tất cả chữ hoa.

+0

Một enum khá chắc chắn không giống như hằng số, nó là một kiểu, giống như một lớp. Các giá trị liệt kê có thể được coi là giống như hằng số (nếu đó là những gì bạn có nghĩa là bạn nên sửa từ ngữ của bạn). Một biến của một kiểu enum có thể được coi là hằng số, nếu được khai báo cuối cùng. – EricS