[java] JSR 305을 활용한 자바 코드 가독성 표현 개선

JSR 305은 자바 언어의 코드 가독성을 향상시키기 위해 개발된 스펙입니다. 이 스펙은 코드 작성자가 메서드, 클래스, 변수 등에 어떤 의도를 가지고 있는지 명확하게 표현할 수 있도록 돕습니다. 이번 글에서는 JSR 305을 활용하여 자바 코드의 가독성을 향상시키는 방법에 대해 알아보겠습니다.

Null 처리 표현

자바에서 Null 처리는 버그를 발생시킬 수 있는 주요 이슈 중 하나입니다. JSR 305은 Null 값을 명확하게 표현하기 위한 어노테이션을 제공합니다.

@NonNull

메서드의 매개변수나 반환값, 필드 등에 @NonNull 어노테이션을 사용하여 Null 값을 허용하지 않는다는 것을 명시할 수 있습니다. 이를 통해 코드 작성자와 코드를 사용하는 다른 개발자들이 해당 값이 Null이 될 수 없다는 것을 알 수 있습니다.

public void doSomething(@NonNull String parameter) {
    // parameter를 사용하는 코드 작성
}

@Nullable

반대로 Null 값을 허용하는 경우에는 @Nullable 어노테이션을 사용하여 Null 값을 명시할 수 있습니다. 이를 통해 해당 값이 Null이 될 수 있다는 것을 코드 작성자와 다른 개발자들이 알 수 있습니다.

public void processResponse(@Nullable String response) {
    // response를 처리하는 코드 작성
}

경고 억제

JSR 305은 컴파일러 경고를 억제하는 데에도 활용될 수 있습니다. 다음과 같은 경우에 @SuppressWarnings 어노테이션을 사용하여 경고를 억제할 수 있습니다.

@SuppressWarnings(“nullness”)

Null 값 관련 경고를 억제하기 위해 @SuppressWarnings(“nullness”) 어노테이션을 사용할 수 있습니다. 이를 통해 경고를 무시하고 코드를 작성할 수 있습니다.

@SuppressWarnings("nullness")
public void processResponse(String response) {
    // response를 처리하는 코드 작성
}

요약

JSR 305을 활용하면 자바 코드의 가독성을 향상시킬 수 있습니다. @NonNull 어노테이션을 사용하여 Null 값을 허용하지 않는다는 의도를 명확히 표현하거나, @Nullable 어노테이션을 사용하여 Null 값을 허용한다는 의도를 나타낼 수 있습니다. 또한 @SuppressWarnings 어노테이션을 사용하여 컴파일러 경고를 억제할 수도 있습니다.

더 자세한 내용은 아래의 참고 자료를 참고하시기 바랍니다.

참고 자료