본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[Effective Java] 컴파일 경고 메세지가 없게 하자.

by 돼지왕 왕돼지 2016. 11. 24.
반응형

 [Effective Java] 컴파일 경고 메세지가 없게 하자.



-
제네릭을 사용해서 프로그램을 작성하면 컴파일 경고 메세지를 많이 마딱뜨릴 수 있다.
unchecked cast, unchecked method call, unchecked generic array generation, unchecked conversion 등.


-
가능한 모든 unchecked 경고 메세지를 없애자.
이는 Runtime 시 ClassCastException 예외가 생기지 않음을 의미한다.


-
특정 경고 메세지는 없앨 수 없지만, 그 메세지를 유발시킨 코드가 타입 안전을 보장한다면
@SuppressWarnings("unchecked") Annotation 을 사용해서 경고 메시지를 안 나타나게 억제할 수 있다.
SuppressWarnings 주석은 가급적 제일 작은 범위로 사용하자.
절대 하나의 클래스 전체에 대해 SuppressWarnings 주석을 사용하지 말자.
다른 중요한 메세지를 못 볼 수 있다.


-
@SuppressWarnings 주석을 사용할 때는 그 이유( 경고를 억제해도 되는 이유 ) 를 주석으로 추가하자.
그런 주석을 넣기가 귀찮거나 어렵더라도 계속 생각해서 작성해야 한다.



Summary


unchecked 경고 메세지는 중요하므로 무시하지 말자.
모든 unchecked 경고 메세지는 런타임 시에 ClassCastException 예외 가능성을 나타낸다.
경고 메세지를 최대한 없애자.
특정 unchecked 경고 메시지를 없앨 수는 없지만 안전함이 확실하다면 가급적 최소 범위로 @SuppressWarnings 주석을 사용해서 경고 메시지를 억제시키자.
그리고 그 이유를 별도 주석으로 작성하자.





반응형

댓글