programing

javadoc에서 메서드를 참조하려면 어떻게 해야 합니까?

goodsources 2022. 7. 16. 14:04
반응형

javadoc에서 메서드를 참조하려면 어떻게 해야 합니까?

어떻게 하면@link메서드에 링크하는 태그

변경하고 싶다:

/**
 * Returns the Baz object owned by the Bar object owned by Foo owned by this.
 * A convenience method, equivalent to getFoo().getBar().getBaz()
 * @return baz
 */
public Baz fooBarBaz()

대상:

/**
 * Returns the Baz object owned by the Bar object owned by Foo owned by this.
 * A convenience method, equivalent to {@link getFoo()}.{@link getBar()}.{@link getBaz()}
 * @return baz
 */
public Baz fooBarBaz()

포맷을 어떻게 해야 할지 모르겠어요@link올바르게 태그합니다.

JavaDoc에 대한 많은 정보는 Standard Doclet용 Documentation Comment Specification(문서 코멘트 사양)에서 확인할 수 있습니다.여기에는 다음 정보가 포함됩니다.

{@link module/member.class#member label}

(찾고 있는 것)를 지정합니다.설명서에서 대응하는 예는 다음과 같습니다.

예를 들어 get ComponentAt(int, int) 메서드에 관한 코멘트를 다음에 나타냅니다.

Use the {@link #getComponentAt(int, int) getComponentAt} method.

module/package.class참조된 메서드가 현재 클래스에 있는 경우 부품을 제외할 수 있습니다.


JavaDoc에 관한 기타 유용한 링크는 다음과 같습니다.

javadoc 문서의 @link 섹션에 있는 일반적인 형식은 다음과 같습니다.

{@link package.class#member label}

같은 클래스의 메서드:

/** See also {@link #myMethod(String)}. */
void foo() { ... }

동일한 패키지로 또는 가져온 다른 클래스의 메서드:

/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }

다른 패키지에 포함된 메서드 및 Import되지 않음:

/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }

코드 글꼴이 아닌 일반 텍스트로 메서드에 연결된 레이블:

/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }

질문에서와 같이 일련의 메서드 호출입니다.이 클래스 이외의 메서드에 대한 링크의 라벨을 지정해야 합니다.그렇지 않으면getFoo().Foo.getBar().Bar.getBaz()그러나 리팩터링 시 라벨이 깨질 수 있습니다.아래의 「라벨」을 참조해 주세요.

/**
 * A convenience method, equivalent to 
 * {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
 * @return baz
 */
public Baz fooBarBaz()

라벨

자동 리팩터링은 라벨에 영향을 주지 않을 수 있습니다.여기에는 메서드, 클래스 또는 패키지의 이름 변경 및 메서드 시그니처의 변경이 포함됩니다.

따라서 기본값과 다른 텍스트를 원하는 경우에만 레이블을 지정하십시오.

예를 들어, 인간의 언어에서 코드로 링크할 수 있습니다.

/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }

또는 위의 "메서드 호출 체인" 아래에 표시된 것과 같이 기본값과 다른 텍스트를 가진 코드 샘플에서 링크할 수 있습니다.그러나 API가 진화하는 동안에는 취약할 수 있습니다.

삭제 및 #member 입력

메서드 시그니처에 파라미터화된 타입이 포함되어 있는 경우 javadoc @link에서 해당 타입의 삭제를 사용합니다.예를 들어 다음과 같습니다.

int bar( Collection<Integer> receiver ) { ... }

/** See also {@link #bar(Collection)}. */
void foo() { ... }

사용할 수 있습니다.@see그렇게 하려면:

샘플:

interface View {
        /**
         * @return true: have read contact and call log permissions, else otherwise
         * @see #requestReadContactAndCallLogPermissions()
         */
        boolean haveReadContactAndCallLogPermissions();

        /**
         * if not have permissions, request to user for allow
         * @see #haveReadContactAndCallLogPermissions()
         */
        void requestReadContactAndCallLogPermissions();
    }

언급URL : https://stackoverflow.com/questions/5915992/how-to-reference-a-method-in-javadoc

반응형