programing

불필요한 @SuppressWarnings ( "unused")

copyandpastes 2021. 1. 14. 23:37
반응형

불필요한 @SuppressWarnings ( "unused")


@SuppressWarnings코드에 대한 이클립스 주석에 대한 컴파일러 경고가 나타납니다 .

@Override
public boolean doSomething(@SuppressWarnings("unused") String whatever) throws AnException {
    throw new AnException("I'm still in bed and can't do anything until I've had a shower!");
}

"unused"라는 단어 아래에 노란색 물결 선 모양이 있고 마우스를 가리키면 툴팁이 표시 Unnecessary @SuppressWarnings("unused")됩니다.

다른 개발자가 이클립스에 의해 이러한 주석을 입력하라는 메시지를 받고 있다고 생각하며 기본적으로 제거하라는 메시지가 표시됩니다. @SuppressWarnings불평하는 대신 주석 을 넣으라는 메시지를 표시하도록 Eclipse를 어떻게 구성 할 수 있습니까?

누군가가 여기에서 모범 사례에 대해 언급하고 싶다면 그것은 또한 가장 환영받을 것입니다.


질문의 코드에서 @SuppressWarnings("unused")메서드가 수퍼 클래스의 다른 메서드를 재정의하거나 인터페이스를 구현하기 때문에 주석이 필요하지 않습니다. whatever매개 변수를 실제로 사용하지 않더라도 반드시 선언해야합니다. 그렇지 않으면 @Override주석에서 오류가 발생합니다 (매개 변수를 제거하면 재정의 된 메서드의 서명이 변경됩니다).

일부 이전 버전의 Eclipse에서는 표시된 코드로 인해 경고가 발생하지 않지만 최신 릴리스에서는 경고가 발생합니다. 유효한 경고라고 생각하며이 @SuppressWarnings("unused")경우에는 제거하겠습니다 .


이동

환경 설정Java컴파일러오류 / 경고주석 .

그리고 사용되지 않은 '@SuppressWarnings'토큰에 대해 무시선택 합니다.


또는 SuppressWarnings 주석을 삭제하는 것이 더 옳다고 생각하는 경우 :

창-> 환경 설정-> Java-> 컴파일러-> 오류 / 경고-> 불필요한 코드-> 매개 변수 값이 사용되지 않음

메서드를 재정의하고 구현할 때 무시를 선택 합니다.


내 코드에는 @SuppressWarnings ( "unused")를 사용하여 3 가지 메서드를 정의하는 상속이 없습니다.

이 코드는 Eclipse Juno (최신 버전)에서 '불필요한 @SuppressWarnings ( "unused")'를 제공하지만 @SuppressWarnings ( "unused")를 제거하면 IntelliJ IDEA 11.1에서 "Constructor / Method is never used"경고가 표시됩니다. 삼

이 방법은 프로젝트에서 직접 사용되지 않고 타사 제품인 Jackson, JAXB 및 GSON에서만 사용되므로 IntelliJ가 옳습니다.

public class EmailUnsendable extends SkjemaError {

    private NestedCommand command;        // Can't be Command (interface) because of GSON!

    @SuppressWarnings("unused")            // Used by Jackson/JAXB/GSON
    public EmailUnsendable() {
    }

    public EmailUnsendable(String referenceNumber, String stackTrace, NestedCommand command) {
        super(referenceNumber, stackTrace);
        this.command = command;
    }

    @SuppressWarnings("unused")            // Used by Jackson/JAXB/GSON
    public NestedCommand getCommand() {
        return command;
    }

    @SuppressWarnings("unused")            // Used by Jackson/JAXB/GSON
    public void setCommand(NestedCommand command) {
        this.command = command;
    }
}

나는 이것이 Eclipse의 오류라고 생각합니다.

참조 URL : https://stackoverflow.com/questions/9531467/unnecessary-suppresswarningsunused

반응형