programing

Java 메서드를 폐지된 것으로 선언하거나 마킹하려면 어떻게 해야 합니까?

newsource 2022. 8. 15. 21:19

Java 메서드를 폐지된 것으로 선언하거나 마킹하려면 어떻게 해야 합니까?

「추천」=의 방법을 폐지하고 싶다.

그래도 API에 넣고 싶어요.저는 단지 그 방법을 사용하는 사람에게 "경고"를 보여주고 싶을 뿐입니다.

어떻게 하면 좋을까요?

방법에 사용.javadoc 필드를 명확히 하는 것도 잊지 마십시오.

/**
 * Does some thing in old style.
 *
 * @deprecated use {@link #new()} instead.  
 */
@Deprecated
public void old() {
// ...
}

둘 다 사용@Deprecated주석 및@deprecatedJavaDoc 태그

@deprecatedJavaDoc 태그는 문서용으로 사용됩니다.

@Deprecated주석은 이 메서드가 폐지되었음을 컴파일러에 지시합니다.Sun/Oracles 문서에서 이 주제에 대해 다음과 같이 기술되어 있습니다.

주석을 사용하여 클래스, 메서드 또는 필드를 폐지하면 코드가 해당 프로그램 요소를 사용할 때 모든 컴파일러가 경고를 발생시킵니다.반대로, 현재 Sun 컴파일러가 항상 Javadoc 태그를 기반으로 경고를 발생시킨다는 보장은 없습니다.다른 컴파일러에서는 이러한 경고가 발생하지 않을 수 있습니다.따라서 주석을 사용하여 경고를 생성하는 것이 Javadoc 태그에 의존하는 것보다 더 휴대성이 높습니다.

전체 문서는 API를 폐지하는 방법과 시기에 있습니다.

몇 가지 사소한 설명이 빠져 있었기 때문에

다음과 같은 방법으로 주석 사용

 /**
 * @param basePrice
 * 
 * @deprecated  reason this method is deprecated <br/>
 *              {will be removed in next version} <br/>
 *              use {@link #setPurchasePrice()} instead like this: 
 * 
 * 
 * <blockquote><pre>
 * getProduct().setPurchasePrice(200) 
 * </pre></blockquote>
 * 
 */
@Deprecated
public void setBaseprice(int basePrice) {
}

잊지 말고 다음 사항을 설명하십시오.

  1. 이 방법은 권장되지 않습니다.사용 시 어떤 문제가 발생합니까?문제가 있는 경우 해당 문제에 대한 토론 링크를 제공합니다(가독성을 위해 행을 구분하십시오).<br/>
  2. 언제 제거될지.(사용자가 기존 방식을 고수하기로 결정했을 경우, 이 방법을 얼마나 사용할 수 있는지 사용자에게 알립니다.)
  3. 솔루션을 제공하거나 권장하는 방법에 대한 링크를 제공합니다.{@link #setPurchasePrice()}

다음 두 가지 작업을 수행할 수 있습니다.

  1. 메서드에 주석을 추가합니다.
  2. 메서드의 javadoc에 태그를 추가합니다.

둘 다 해야 돼!

이 주제에 대한 Java 문서를 인용합니다.

J2SE 5.0부터는 @Depreferred 주석을 사용하여 클래스, 메서드 또는 필드를 더 이상 사용하지 않습니다.또한 @decrecommended Javadoc 태그를 사용하여 개발자에게 대신 사용할 내용을 지시할 수 있습니다.

주석을 사용하면 Java 컴파일러는 사용되지 않는 클래스, 메서드 또는 필드를 사용할 때 경고를 생성합니다.컴파일러는 폐지된 컴파일 유닛이 폐지된 클래스, 메서드 또는 필드를 사용하는 경우 폐지 경고를 억제합니다.이를 통해 경고를 생성하지 않고 레거시 API를 구축할 수 있습니다.

Javadoc @decrecommitted 태그를 사용하여 새로운 API 사용 방법을 설명하는 적절한 설명을 하는 것이 좋습니다.이를 통해 개발자는 이전 API에서 새로운 API로의 이행 경로를 사용할 수 있습니다.

주석 사용 @Deprecatedsavadocs.savadocs에 .

, 그럼 여러분도 한번 .@Deprecated석입니니다다

언급URL : https://stackoverflow.com/questions/9031832/how-to-declare-or-mark-a-java-method-as-deprecated