비검사 경고를 제거하라

할 수 있는 한 모든 비검사 경고를 제거한다면 그 코드는 타입 안정성이 보장 된다!. ClassCastException이 발생할 일이 없고, 우리가 의도한 대로 잘 동작하리라 확신할 수 있다.

  • 경고를 제거할 수는 없지먼 type safe 하다고 확신할 수 있다면 @SuppressWarnings("unchecked") 애너테이션을 달아 경고를 숨기자.
    • 단, type safe 를 검증하지 않고 경고를 숨기면 안 된다!
    • @SuppressWarnings 애너테이션은 항상 가능한 좁은 범위에 적용해야 한다. 범위가 넓으면 자칫 심각한 경고를 놓찰 수 있기 때문이다.
    • 지역변수를 새로 생성하는 일이 있다고 해도 그만한 값어치가 있다.
    • @SuppressWarnings("unchecked")를 사용할 때는 경고를 무시해도 안전한 이유를 항상 주석으로 남겨야 한다.
Last Updated: 10/31/2020, 3:49:13 PM