예외 처리
- 예외 처리에 대한 기준
- 에러 메시지를 밖으로 내보내서, client에게 보여줄것이냐
- log 남기고 slack, email 또는 문자로 알릴 것이냐
- 서버의 버그라면 로그로 남겨서 확인해야 할 것이고
- 공격인 상황에서도 개발자가 즉각 알아차릴 수 있게 슬랙, 메일 혹은 문자로 보내기
- RuntimeException은 제일 안에서 던져주고 제일 바깥에서만 잡게
테스트
- 도메인 테스트는 시간순서대로 작성하기. 성공, 실패, 실패 ..
- 테스트 메소드 이름은 명확하게 짓기
- @ParameterizedTest
- @CsvSource
코멘트
- Enum이나 도메인에 대해서 코멘트 남겨서 나중에 확인했을 때도 어떤 것이었는지를 알 수 있도록 하기
도메인
- 도메인이 스프링 시큐리티라는 구체적인 기술을 알고 의존하게 되면, 무슨 안좋은점이있을까요?
- 도메인을 다른 기술을 최대한 모른채로 유지하면 어떤 유리한 점이 있을까요?
- 우리는 왜 중요한 로직을 도메인에 담고 있나요?
- AirCnC 에서 가장 중요한 로직은 무엇인가요?
- 스프링이 아니면 AirCnC는 작동할수없나요?
컨트롤러
- 비즈니스 로직이 있으면 안돼
DTO
- 서비스에서 웹모델을 반환하느냐, 서비스에서 엔티티를 반환하느냐에 대한 문제가 있음
로깅
JPA
- OneToMany 단방향은 왠만하면 쓰지 말자 ↔ 양방향 쓰면 연관관계의 주인이 Many 쪽이 되기 때문에 연관관계 설정 부가 코드가 붙어야 함
Util클래스
- 보통 Util로 쓰는 클래스는 정적 메소드만 제공하고 인스턴스화 하지 않는게 관례