Làm thế nào để Javadoc Cá nhân của Lớp học


84

Tôi đang viết javadoc cho một lớp có chứa enum riêng của nó. Có cách nào để tạo javadoc cho từng enum không? Ví dụ, ngay bây giờ tôi có một cái gì đó như thế này:

/**
 * This documents "HairColor"
 */
private static enum HairColor { BLACK, BLONDE, BROWN, OTHER, RED };

Tuy nhiên, điều này chỉ ghi lại tất cả các enums nói chung:

Javadoc đã tạo

Có cách nào để ghi lại từng giá trị HairColor riêng lẻ không? Mà không cần chuyển enum vào lớp riêng của nó hoặc thay đổi nó từ một enum?

Cảm ơn trước sự giúp đỡ nào.


Vì tò mò, tại sao bạn lại muốn? Bạn có enum được liệt kê dưới dạng một privateenum lồng nhau, vì vậy người dùng trong lớp của bạn không thể sử dụng enum hoặc các giá trị của nó. Và nếu nó được công khai và độc lập hơn là vấn đề lớn trong việc ghi nó như một đơn vị của riêng mình?
Mark Peters

2
Trong mã thực tế của tôi, nó là công khai. Và bạn biết các tiêu chuẩn của công ty có thể như thế nào. "Điều này sẽ tốt hơn" "Thật tệ, chúng tôi, những người không biết gì về lập trình nghĩ rằng bạn nên làm theo cách này". Lol
Snowy Coder Girl

Đủ công bằng. Chỉ cần đảm bảo rằng bạn nói với họ rằng bản phát hành sẽ bị lùi lại sau một tuần vì các yêu cầu không thể thay đổi đối với tài liệu có thể sẽ không bao giờ được đọc. Điều đó thường chọc vào tai của một số người quan tâm đến công việc kinh doanh.
Mark Peters

1
Haha. Javadoc không được sử dụng như javadoc. Nhưng tôi thích nó cho việc viết mã. Một số lập trình viên đặt tên phương thức không liên quan gì đến những gì đang thực sự diễn ra. Giống như getCat trả về tất cả những con mèo đã chạy lên cây trong 10 ngày qua, không bao gồm thứ Ba hoặc ngày lễ. Haha
Snowy Coder Girl

@RachelG. Đó là một hiện tượng mà mọi nhà phát triển đều nghĩ rằng cô ấy / anh ấy vượt trội hơn các nhà phát triển khác. Tuy nhiên, không có sự xúc phạm.
OddDev

Câu trả lời:


99

Bạn làm điều đó giống như bất kỳ biến nào khác mà bạn sẽ javadoc.


/**
 *  Colors that can be used
 */
public enum Color
{
    /**
     * Red color
     */
    red,

    /**
     * Blue color
     */
    blue

}

BIÊN TẬP:

Từ Paŭlo Ebermann: Enum là một lớp riêng biệt. Bạn không thể bao gồm tài liệu đầy đủ của nó trong lớp bao quanh (ít nhất, mà không cần vá tài liệu chuẩn).


2
Điều này tạo ra cùng một thứ (lưu ý liên kết trên ảnh chụp nhanh). Tôi đang tìm cách đặt chúng trực tiếp vào javadoc lớp (thay vì liên kết với javadoc khác). Nhưng cảm ơn =) +1 để cải thiện mô tả vấn đề.
Snowy Coder Girl,

4
@Rachel: Enum là một lớp riêng biệt. Bạn không thể bao gồm tài liệu đầy đủ của nó trong lớp bao quanh (ít nhất là không vá tài liệu chuẩn).
Paŭlo Ebermann,

Vâng. Tôi hơi lo lắng đó là cách xảy ra khi liên kết xảy ra. Tôi đoán cách duy nhất để bao gồm các enum riêng lẻ sẽ là thay đổi nó thành một lớp bên trong và sau đó khai báo các đối tượng ở đó và javadoc chúng.
Snowy Coder Girl,

@ user489041: Bạn có thể kết hợp các nhận xét quan trọng (ví dụ như ý kiến ​​của tôi) trong câu trả lời, để tham khảo trong tương lai không?
Paŭlo Ebermann,

Nếu bạn muốn tham chiếu nó, bạn luôn có thể sử dụng {@link Color}hoặc ngay cả {@link Color#red}ví dụ, hoặc thậm chí chỉ {@link #red}khi trong cùng một tài liệu từ bên trong bất kỳ javadoc nào khác, bao gồm javadoc lớp.
flungo

69

Bạn có thể tạo liên kết đến từng mục của enum. Tất cả các mục sẽ được liệt kê trong javadocs đến enum class.

/**
 *  Colors that can be used
 *  {@link #RED}
 *  {@link #BLUE}
 */
public enum Color {

    /**
     * Red color
     */
     RED,

    /**
     * Blue color
     */
    BLUE
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.