TDD 스터디 회고: 에러 핸들링의 책임과 TDD의 본질
안녕하세요, 저는 현재 TDD 스터디를 진행하고 있는 개발자입니다. 오늘은 이번 주 스터디를 하면서 고민했던 내용들을 여러분과 공유하고자 합니다.1. 에러 핸들링도 하나의 '책임' 이다이번 주에 저번처럼 기획을 기능 명세서로 만든 후,기능 명세서에서 명시한 Exception을 어느 계층에서 던져야 할지 고민이 되더라고요.이전까지는 Controller에서 DTO를 바인딩할 때 @Valid로 모든 검증을 처리했었거든요.필드가 유효하지 않은 값이 있다면, 서비스 로직까지 아얘 오면 안된다고 생각했기 때문입니다.서비스 계층은 비즈니스 로직을 책임지는 계층이지, 값의 유효성에 대한 검증의 책임은 컨트롤러에 있다고 생각하기 때문입니다.그래서 위 카테고리 수정 명세서를 예시로 들어보자면,'name'으로 빈 값이 들어..
2024.05.05