안녕하세요 정현님! 미션 고생하셨어요. :)
코드가 전체적으로 깔끔했습니다. 객체 분리도 잘 되어있습니다. 예외 상황 또한 잘 정리하셨어요 :)
[질문] 예외 처리를 하였지만 이 예외처리들을 어떻게 효율적으로 관리할 수 있을지, learning-test에 있는 코드처럼 global 예외처리 파일을 만들어 처리하는 것이 좋은 방법인지에 대하여 고민 중입니다. 혹시 이 부분에 대해 의견이 있으시다면 공유해주세요.
리뷰어 의견 저는 Spring 웹에서 발생하는 예외들은 하나의 클래스 안에서 전역적으로 오류를 관리하는 게 좋다고 생각해요. 이러한 부분이 Spring의 매력이라고 생각합니다. 그 외의 오류(데이터베이스 오류 및 Spring 핵심 모듈)는 각각의 파일들을 만들어 예외 상황을 정리하는 편입니다. 예를 들어 validate~~~(String name) 같은 방식으로요.
정현님의 응답 단순 예외 처리라고만 생각했는데, 스프링의 장점 중 하나라는 것을 배웠습니다! 감사합니다. :)
코드 리뷰 피드백
src/main/java/roomescape/dto/Reservation.java
PlusUltraCode: 사소한 컨벤션이지만 매개변수가 적을수록 생성자를 위쪽에 두는 게 좋은 것 같아요 ^^
PlusUltraCode: 예외 처리를 깔끔하게 해주셔서 가독성이 매우 좋았습니다 ^^ 다만 예외 처리 함수들을 다른 클래스로 만들어 Reservation.java 객체와 분리해보는 건 어떻게 생각하시나요?
src/main/java/roomescape/controller/ReservationController.java
PlusUltraCode: 이 부분은 정확한 지식이 아니라 틀릴 수도 있는 점 양해 바랍니다. :)
함수 선언과 바로 아래에 긴 코드 선언이 있으면 한 칸 띄어서 작성하는 게 읽기에는 더 편할 것 같은데 어떻게 생각하시나요? 정현님의 의견이 궁금해요.
PlusUltraCode: 날짜와 시간의 값이 없을 경우도 예외 상황을 고려하면 좋을 것 같아요 :)
src/main/java/roomescape/controller/ReservationController.java
PlusUltraCode: 예외 처리를 해당 클래스 내에서 해도 좋지만, 다른 클래스를 만들어 그 클래스 안에 전체적으로 예외 처리를 해보는 건 어떻게 생각하나요? 저는 그 부분이 Spring의 매력이라고 느껴집니다 ^^
PlusUltraCode: 안녕하세요 정현님 :)
record 위주로 리팩토링 한 것으로 보여요. 예외 처리를 잘 관리하신 게 보입니다. 추가할 사항은 lotto record 파일을 이용하여 Lottos를 만들어 보는 건 어떨까요? lotto라는 원시값을 이용해 Lottos를 만들게 되면 원시값 포장이라고 합니다.
전반적으로 정현님의 코드는 객체 분리와 예외 처리에서 높은 완성도를 보였습니다. 앞으로도 Spring의 특성과 장점을 잘 활용하여 더욱 효율적인 코드를 작성하시길 바랍니다. 피드백을 바탕으로 더 나은 코드를 작성해 나가시길 응원합니다!
'멋쟁이사자처럼 동아리 > 코드 리뷰' 카테고리의 다른 글
코드리뷰 리뷰어 : 이동호 Spring JDBC (0) | 2024.06.22 |
---|---|
코드 리뷰 리뷰어 : 이동호 로또 미션 (0) | 2024.06.22 |
코드리뷰 Spring Core (0) | 2024.06.22 |
코드리뷰 Lotto mission (0) | 2024.06.22 |
코드리뷰 Spring MVC (0) | 2024.06.22 |