오늘도 팀 프로젝트를 했다.
팀원들끼리 모여 주말동안 어떻게 할건지, 구현 목표에 대해 얘기하였다.
명예의 전당 끝까지 하기로 했고, POSTMAN을 공유하여 효율적으로 테스트를 하기로 하였다.
- 다른 Config를 분리한 것처럼 JwtUtil도 Config를 분리를 해봅시다.
- Util 성격에 맞게 static으로 선언해서 사용해 봅시다.
- IDE에 나오는 경고를 보고 수정해 봅시다.
- deprecated
- Field injection is not recommended
- AllArgsConstructor 어노테이션 사용을 지양하고 필요한 항목만 선언해서 사용합시다.
- 인증 전, 정상, 탈퇴를 ENUM 같은 것으로 관리해 보면 어떨까요?
- signup 함수에서 규칙을 검사하는 건 validation을 사용하면 역할을 조금 더 분리할 수 있지 않을까요?
- updateEmail 함수에서 setter를 직접 사용합니다. 생성자나 빌더 등을 활용해서 최대한 setter를 사용하지 않아봅시다. 그리고 setter를 사용한다면 private로 선언한 후 의도가 드러나는 별도 함수를 선언해서 사용해 봅시다.
- 다른 곳에서도 수정을 해야 할 부분이 있다면 적용해 봅시다.
- tokenUrl 같은 데이터는 환경 변수 파일에서 관리를 하도록 변경해 봅시다.
- 에러나 특정 상황에서 사용하는 메세지만 모아서 관리할 수 있는 방법이 있는지 확인해 봅시다.
- 팀 내에서 코드 리뷰를 해서 무엇을 더 수정하면 좋을지 의논해 봅시다.
- 최종적으로는 사용하지 않는 코드나 주석 내용에 대해서 확인하여 수정해 봅시다.
- 토큰이 올바른지 검사하는 기능을 각 API가 아니라 필터에서 수행할 수 있을지 확인해 봅시다.
- 생성, 수정 일자를 공통으로 분리를 하였다면 각 엔티티에 적용하여 중복되는 부분은 수정해봅시다.
- 가독성을 위해 커스텀 예외 클래스를 정의했습니다. 기능은 메세지를 출력하는 것으로 같기 때문에 공통화를 어떻게 시킬 수 있을지 한번 고민해 봅시다.
- 쿼리를 직접 쓰신 곳이 있는데 시간이 된다면 QueryDSL이라는 라이브러리도 참고해 봅시다.
라고 왔고, 내 코드와 관련된 부분들은
- AllArgsConstructor 어노테이션 사용을 지양하고 필요한 항목만 선언해서 사용합시다.
- 생성, 수정 일자를 공통으로 분리를 하였다면 각 엔티티에 적용하여 중복되는 부분은 수정해봅시다.
였다. 타임스탬프를 상속받고 ALLArgsConstructor 부분을 교체하면 되었다.
코드 관련 버그들을 수정하고, 피드백을 반영하여 리팩토링하였다.