해결된 질문
작성
·
53
·
수정됨
0
안녕하세요 쿠케님 강의 잘 듣고있습니다!
제네릭을 사용할 때마다 생기는 고민이 있습니다.. 제네릭을 사용하다보면 컴파일러 경고가 발생하는 경우가 있는데(IDE의 노란 밑줄) 이런 경고들을 모두 해결해서 제거해야할 까요?? 아니면 어느정도 무시를 해도 되는 걸까요??
이펙티브 자바에는 런타임에 캐스팅 관련 예외가 발생할 수 있으니 이런 경고를 최선을 다해 제거하라. 라는 내용이 있기도 하고, 노란 밑줄이 보이면 눈에 거슬리기도 해서 처음에는 어느정도 제거하면서 개발을 했었는데, 시간이 지날 수록 이게 맞나 싶기도하고 책에 있는 내용이 절대적인 것도 아니기도해서 그리고 강의에서도 어느정도 무시를 하는 것 같아 질문 남깁니다!
팀에서 결정한 컨벤션으로 개발하면 될 것 같은데, 다른 팀에서는 어떻게 진행하는지 궁금합니다! 최대한 제거하는지.. 어느정도는 무시(@SuppressWarnings
)해도 되는지
답변 2
1
chobo님, 안녕하세요!
가능하다면 제거하는게 좋긴 하겠지만,
현실적으로 모든 경고를 다 없애는 것도 꽤나 번거로운 작업이라,
저도 딱히 동작에 문제가 발생하는게 아니면 제거하진 않고 무시하네요.. ㅎㅎ
@SuppressWarnings 조차 달지 않을 때도 있고, 생각나거나 눈에 보이면 종종 달긴 합니다.
결국 코드 작성자가 문제가 없는 코드라는걸 이미 검증 했을 수도 있고, 테스트 코드로 검증하고 있을 수도 있는거고요.
말씀하신대로 팀의 규약을 따르면 될 것 같고, 모든 상황을 다 챙기는건 현실적으로 어려움이 있는 것 같긴 합니다.
저도 엄청 많은 팀을 경험한건 아니다보니, 뭐가 맞다고 말하기엔 조심스러운데..
그냥 개인 또는 팀 컨벤션에 따라서 문제 없을 범위 내에서는 알아서 처리해도 충분하지 않을까 싶고,
꼭 강박을 가질 필요는 없다고 생각합니다..!
책이나 강의에서 말하는 이론과 실무 사이에서는 괴리감이 꽤나 있을 수 밖에 없긴 합니다..!
이러한 괴리감도 회사 또는 팀의 분위기마다 다르게 느껴질 수 있는 것이고요.
문제 없는 범위에서는 그냥 개인의 판단이 많이 개입되는 것 같습니다.
일단 개인적으로는 팀 컨벤션의 범위를 벗어나는 규약에 대해서는,
동작이나 유지보수 등에 문제가 없다면 딱히 신경쓰지 않는 편이긴 합니다.
0
안녕하세요, 인프런 AI 인턴입니다. chobo님.
제네릭 사용 시 발생하는 컴파일러 경고와 관련하여 고민이 많으신 것 같습니다. 제네릭은 코드의 타입 안정성을 향상시키는 중요한 기능이지만, 때때로 컴파일러 경고가 발생할 수 있습니다. 이에 대한 해결 방법과 팀 내 컨벤션을 설정하는 것에 대한 설명을 드리겠습니다.
경고 원인 파악 및 제거:
런타임 안전성 확보:
SuppressWarnings 사용:
@SuppressWarnings("unchecked")
와 같은 애노테이션을 사용하여 경고를 억제할 수 있습니다. 그러나 남용하지 않도록 주의해야 합니다. 팀의 컨벤션으로 이 방식을 적용할 때 신중하게 고민해 보아요.컨벤션 정의:
코드 리뷰 정책:
문서화:
이와 관련된 자세한 실무 사례나 다른 팀의 경험을 알고 싶으시면, 다음 게시글을 참고해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.