태그 보관물: deprecated

deprecated

JavaDoc 지원 중단 또는 Java 주석을 사용해야합니까? 싶습니다. 그러나 주석을 사용하면 컴파일러에게 실제로 유용한

현재 Java에서 코드를 depreacted로 표시하는 두 가지 방법이 있습니다.

JavaDoc을 통해

/**
 * @deprecated
 */

또는 주석으로 :

@Deprecated

이것은 내 문제입니다. Eclipse를 사용할 때 메서드를 사용하지 않는 것으로 표시 할 때 둘 다 선언하는 것이 너무 많다는 것을 알았습니다. 나는 정말로 그들 중 하나를 사용하고 싶습니다.

그러나 주석을 사용하면 컴파일러에게 실제로 유용한 추가 정보를 제공합니까?

그러나 어노테이션 만 사용하면 메소드가 폐기 된 이유를 말할 수 없습니다. JavaDoc으로 만 가능하며 왜 나쁜지 지정하지 않고 메소드를 폐기 할 수 있습니다.

그래서 그들 중 하나만 사용할 수 있습니까? 아니면 둘 다 지정하는 법을 배워야합니까?



답변

둘 다 사용해야합니다. Annotation을 사용하면 컴파일러가 더 이상 사용되지 않는 메소드가 사용될 때마다 경고를 표시 할 수 있으며 javadoc은 그 이유를 설명합니다. 둘 다 중요합니다.

Oracle의 Java Annotations 튜토리얼에 따라 :

요소가 더 이상 사용되지 않는 경우 Javadoc @deprecated 태그를 사용하여 문서화해야합니다.


답변

로부터 말의 입 :

참고 : Java 언어 사양에서는 @Deprecated 주석으로 표시된 클래스, 메서드 또는 필드를 사용할 때 컴파일러가 경고를 발행하도록 요구합니다. Java 언어 사양에서는 @deprecated Javadoc 태그로 표시된 클래스, 메소드 또는 필드에 액세스 할 때 경고를 발행하기 위해 컴파일러가 필요하지 않지만 현재 Sun 컴파일러는 그렇게합니다.

따라서 기본적으로 컴파일러 경고가 있음을 보장하려면 주석을 사용해야합니다. 그리고 일부 API 디자이너의 놀라운 무능 때문에 설명을 제공하기 위해 javadoc 태그도 지정해야합니다.

개인적으로 주석은 쓸모가 없으며 수정 될 때까지 생략해야한다고 말하고 싶습니다. 좋은 컴파일러 나 IDE는 javadoc 태그와 함께 경고를 표시하기 때문입니다.


답변

둘 다 작성해야합니다. @Deprecated Anotation은 컴파일러 용이고 @deprecated JavaDoc 태그는 왜 이것이 더 이상 사용되지 않는지 확인하려는 사람을위한 것입니다.

예는 다음과 같습니다.

/**
* @deprecated We dont need this Method because ...
*/
@Deprecated
public void doStuff(){..}


답변

둘 다 지정해야합니다.

주석을 통해 컴파일러는 이에 대해 알 수 있으며 메서드가 사용될 때 경고를 트리거합니다. JavaDoc 속성은 개발자가 사용을 시작하기 전에 알 수 있습니다.

이것들은 매우 다른 두 가지입니다!


답변

이것은 좋은 IDE로 쉽게 처리 할 수 ​​있습니다.

예를 들어 Eclipse Neon. 메서드 또는 필드에서 @deprecated javadoc을 만들 때 자동으로 @Deprecated 주석을 추가합니다.

따라서 적절한 설명과 함께 javadoc을 작성하고 파일을 저장하는 순간 IDE가 @Deprecated 주석을 추가하도록합니다.


답변