Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[item #27] 비검사 경고를 제거하라 #50

Open
hyojae93 opened this issue Dec 13, 2022 · 1 comment
Open

[item #27] 비검사 경고를 제거하라 #50

hyojae93 opened this issue Dec 13, 2022 · 1 comment
Assignees

Comments

@hyojae93
Copy link
Collaborator

경고를 숨긴다는거 자체가 조금 이해가 안가는데
"책에 보면 수 많은 거짓 경고 속에 새로운 경고가 파묻힐 수가 있다." 라고 나와있습니다
이미 @SuppressWarnings("xxx") 어노테이션을 사용하며 코드내에 경고들을 인지하고 사용했다라고 보이는데
다른 경고가 발생하는 경우는 어떤 경우이고,
추가로 제거하지 못하는 상황의 경고에 대해서 접해본 적이 있으신지 궁금합니다.

@miyeon396
Copy link
Member

책의 내용을 보았을 때는 unchecked 경고가 나타나면 1차적으론 해결을 하고 해결이 안되는 경우 타입 안정성을 보장하고 직접 SuppressWarning를 사용해서 경고를 숨기라는 것으로 이해를 했습니다.
아무런 처리하지 않은 경고들에 의해 새로운 경고가 또 생겼을 때 이걸 파악하기 어렵다라고 그렇기에 인지하고있는 모든 경고는 숨기라고 설명을 하는 것 같았슴니다.

다른 경고가 발생하는 경우도 결국 마찬가지로 컴파일러가 타입 안정성을 확인하는데 필요한 정보가 충분치 않은 경우에 발생하는 경우인 것 같고,
실제 코드를 봤을 때 책의 예제 처럼 raw타입을 사용할 때나, 아님 모델 매핑을 위해 타입 핸들러를 사용했는데 이때도 unchecked 경고를 보여주고 있는 것을 확인할 수 있었습니다.
스크린샷 2022-12-15 오전 9 57 34
스크린샷 2022-12-15 오전 10 03 13

앞의 예제 같은 경우는 쉽게 raw 타입을 안쓰는 방법으로 해결을 할테지만
두번째 예제의 경우.. 경고의 원인 자체를 해결하면 좋은데 만약 해결을 못하는 경우 이렇게 냅둘게 아니라 타입 보장 설명 주석과 SuppressWarings를 썼었다면 좋았을 것 같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants