IntelliJ + Java 불필요한 경고 비활성화 하기

주싱·2022년 10월 12일
0

더 나은 도구

목록 보기
2/13

경고는 오류의 전조 증상을 알려주거나 더 나은 코드를 제안해 주기도 해서 꼭 확인하려 합니다. 그런데 의도적으로 작성한 정당한 코드가 알람으로 뜨는 경우 의미있는 경고와 불필요한 경고를 구분하기가 귀찮아집니다. 점점 경고를 확인하지 않게 되고 그래서 컴파일러가 알려주는 귀중한 정보를 놓치게 될 때가 있습니다. 오늘 배운 방법을 사용해 특정 경고를 깔끔하게 끌 수 있어 유용한 것 같습니다. 앞으로 잘 사용하게 될 것 같습니다.

문제

테스트 코드를 작성하다 재활용 될 수 있는 코드가 보여서 별도의 메서드로 분리했다. 단순하게 두 개의 시간을 비교하는 메서드인데 어느 정도 차이(밀리초)가 나도 같은 시간으로 판단하는 epsilonMillis 라는 파라미터를 입력 받는다. 그런데 커밋을 하려고 하니 IntelliJ 에서 해당 코드에 경고가 있다며 검토해 보라며 커밋을 막아선다. 그냥 ‘Commit Anyway’ 할 수도 있지만 의미있는 경고일 수도 있어 확인해 본다. 경고 내용은 해당 파라미터 값으로 항상 100이 사용되고 있어서 굳이 파라미터로 받을 필요가 없다는 거다. 맞는 말이다. 그런데 당장은 그렇지만 이 공통 메서드는 추후 다른 테스트에 사용 된다면 다른 파라미터 값으로 사용될 수도 있다. 그래서 제거하기는 좀 애매한데 매번 커밋할 때 이런 경고가 뜨니 진짜 의미있는 경고와 구분하기가 어렵다. 어떻게 할 수 없을까?

해결책

찾아보니 아래와 같이 하면 해당 경고가 표시되지 않도록 할 수 있었다.

  • 경고가 표시되는 부분으로 가서 Alt+Enter를 입력한다.
  • IntelliJ가 제안하는 내용 옆에 ‘>’ 버튼을 선택한다.
  • 여러 옵션 중에 ‘Suppress for method’ 옵션을 선택한다. (‘Suppress for method’ 옵션은 해당 메서드 레벨에서 동일한 경고가 출력되지 않도록 설정한다)
  • 그러면 관련 메서드에 @SuppressWarning Java Annotation과 “SameParametetValue”라는 경고는 무시하겠다는 옵션이 붙게된다.
  • 이제 해당 해당 경고는 표시되지 않는다.

profile
소프트웨어 엔지니어, 일상

0개의 댓글