2008-10-12 15 views
48

Tôi vừa mới bắt đầu sử dụng các enums của Java trong các dự án của riêng mình (tôi phải sử dụng JDK 1.4 tại nơi làm việc) và tôi nhầm lẫn là cách thực hành tốt nhất khi sử dụng JavaDoc cho một enum.Cách tốt nhất để sử dụng JavaDoc để tạo tài liệu cho Java enum là gì?

Tôi đã tìm thấy rằng phương pháp này hoạt động, nhưng mã kết quả là một chút unrefined:

/** 
* Doc for enum 
*/ 
public enum Something { 
/** 
* First thing 
*/ 
FIRST_THING, 
/** 
* Second thing 
*/ 
SECOND_THING; 
//could continue with more 
} 

Có cách nào tôi có thể phá vỡ các tờ khai enum trên đường riêng của họ mà không chaining chúng bằng dấu phẩy, hoặc đây có phải là cách tiếp cận tốt nhất để sử dụng JavaDoc cho một enum không?

+3

Thực tế, ít nhất là đối với JDK1.7 (các phiên bản khác không được kiểm tra), hoàn toàn hợp pháp để có dấu phẩy sau * mọi giá trị * enum, bao gồm giá trị cuối cùng. Chỉ cần đặt dấu chấm phẩy trên dòng sau giá trị cuối cùng và bạn ổn. Điều này giúp dễ dàng di chuyển các giá trị xung quanh hoặc thêm/xóa các giá trị, mà không phải lo lắng về việc sử dụng dấu phẩy hoặc dấu chấm phẩy. – Bart

Trả lời

31

Để trả lời phần đầu tiên của câu hỏi, bạn phải tách từng giá trị enum bằng dấu phẩy. Theo như tôi biết, không có cách nào xung quanh đó.

Cá nhân tôi không gặp sự cố với mã theo cách bạn đã trình bày. Có vẻ như một cách hoàn toàn hợp lý để tài liệu một enum với tôi.

13

Như Mike đã đề cập, bạn phải tách các giá trị enum với dấu phẩy, và chúng phải là những thứ đầu tiên được liệt kê trong khai báo enum (các biến mẫu, các hằng, các hàm tạo và các phương thức có thể làm theo).

Tôi nghĩ cách tốt nhất để ghi tài liệu là tương tự như các lớp thông thường: kiểu enum được mô tả về hàm và vai trò của enum như một tổng thể ("Something values are used to indicate which mode of operation a client wishes...") và mỗi giá trị enum được mô tả Javadoc mục đích và chức năng ("FIRST_THING indicates that the operation should evaluate the first argument first..").

Nếu mô tả giá trị enum ngắn, bạn có thể muốn đặt chúng trên một dòng là /** Evaluate first argument first. */, nhưng tôi khuyên bạn nên giữ từng giá trị enum trên một dòng riêng. Hầu hết các IDE có thể được cấu hình để định dạng chúng theo cách này một cách tự động.