클래스의 개별 열거 형을 Javadoc하는 방법


84

자체 열거 형을 포함하는 클래스에 대한 javadoc을 작성하고 있습니다. 개별 열거 형에 대해 javadoc을 생성하는 방법이 있습니까? 예를 들어, 지금은 다음과 같습니다.

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

그러나 이것은 모든 열거 형을 전체적으로 문서화합니다.

생성 된 Javadoc

각 HairColor 값을 개별적으로 문서화하는 방법이 있습니까? 열거 형을 자체 클래스로 이동하거나 열거 형에서 변경하지 않고?

도움을 주셔서 미리 감사드립니다.


호기심에 왜하고 싶어? 열거 형이 private중첩 된 열거 형으로 나열되어 있으므로 클래스의 사용자는 열거 형 또는 해당 값을 어쨌든 사용할 수 없습니다. 그리고 그것이 자신의 단위로 문서화하는 것이 큰 문제보다 공개적이고 독립형을 의미한다면?
Mark Peters

2
내 실제 코드에서는 공개되어 있습니다. 그리고 회사 표준이 어떻게 될 수 있는지 알고 있습니다. "이것이 더 나을 것입니다." "아쉽습니다. 프로그래밍에 대해 아무것도 모르는 우리는 당신이 이런 식으로해야한다고 생각합니다." Lol
Snowy Coder Girl

그럴 수 있지. 읽을 수없는 문서에 대한 이동 불가능한 요구 사항으로 인해 릴리스가 1 주일 뒤로 미뤄질 것이라고 알려주십시오. 그것은 일반적으로 사업에 전혀 관심이있는 사람의 귀를 찌릅니다.
Mark Peters

1
ㅋ. Javadoc은 javadoc로 사용되지 않습니다. 하지만 코딩을 좋아합니다. 일부 프로그래머는 실제로 일어나는 일과 관련이없는 메소드 이름을 가지고 있습니다. getCat은 화요일이나 공휴일을 제외하고 지난 10 일 동안 나무를 다룬 모든 고양이를 반환합니다. Haha
Snowy Coder Girl

@RachelG. 모든 개발자가 자신이 다른 개발자보다 우월하다고 생각하는 것은 상당히 현상입니다. 그래도 불쾌하지 않습니다.
OddDev

답변:


99

다른 변수와 마찬가지로 javadoc을 수행합니다.


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

    /**
     * Blue color
     */
    blue

}

편집하다:

Paŭlo Ebermann에서 : 열거 형은 별도의 클래스입니다. 포함하는 클래스에 전체 문서를 포함 할 수 없습니다 (적어도 표준 doclet 패치없이).


2
이것은 동일한 것을 생성합니다 (스냅 샷의 링크에 유의하십시오). 다른 javadoc에 연결하는 대신 클래스 javadoc에 직접 배치하려고합니다. 그러나 문제 설명을 진행해 주셔서 감사합니다 =) +1.
Snowy Coder Girl

4
@Rachel : 열거 형은 별도의 클래스입니다. 포함하는 클래스에 전체 문서를 포함 할 수 없습니다 (적어도 표준 doclet 패치없이).
Paŭlo Ebermann

네. 나는 그것이 링크가 발생했을 때의 방식에 대해 약간 걱정했습니다. 개별 열거 형을 포함하는 유일한 방법은 내부 클래스로 변경 한 다음 객체를 선언하고 javadoc하는 것입니다.
Snowy Coder Girl

@ user489041 : 나중에 참조 할 수 있도록 중요한 댓글 (예 : 내 댓글)을 답변에 포함 해 주시겠습니까?
Paŭlo Ebermann

이를 참조하려는 경우 항상 사용 {@link Color}하거나 {@link Color#red}예를 들어, {@link #red}javadoc 클래스를 포함하여 다른 javadoc 내에서 동일한 문서에있을 때도 사용할 수 있습니다 .
flungo

69

각 열거 형 항목에 대한 링크를 만들 수 있습니다. 모든 항목은 클래스를 열거하기 위해 javadocs에 나열됩니다.

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

    /**
     * Red color
     */
     RED,

    /**
     * Blue color
     */
    BLUE
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.