Project

취업 준비, 프로젝트 리팩토링(3)

newny 2023. 8. 3. 04:03
반응형

리팩토링 순서

1. 테이블 재정의 → 테이블 정의서 새로 만들기 [20230727 테이블 정의서 완료]
2. erd 재정의 → 기존 erd 수정하기 [20230728 erd 수정 완료]
3. jar로 배포 → 기존 jsp 사용으로 인해 war로 설정했던 부분을 jar로 변경 [20230730 프로젝트 생성 완료]
4. 패키지 구조 변경 → 정리되어있지 않은 기존의 패키지 구조(특히 repository부분)를 변경 [20230730 구조 변경 완료]
5. 템플릿 엔진 thymeleaf로 바꾸기 → 기존의 jsp의 흔적 없애기, 불필요한 페이지나 버튼 제거 [20230731~ 진행 중]
6. 재정의된 테이블 구조에 맞는 프로젝트로 코딩 [20230731~ 진행중]
7. mybatis를 jpa로 변경(아직 공부가 안된 부분이 있어서 가장 마지막에 변경예정)

 

현재 리팩토링 진행상태 (5번, 6번 함께 진행중)

회원가입, 로그인, 로그아웃 구현 완료

호스트 회원가입, 로그인, 로그아웃 구현 완료

 

MapStruct 라이브러리 사용방법

https://unluckyjung.github.io/dev/2021/11/20/Dto-Entity-Mapper/

위 사진의 구조를 유지하려고 보니 Repository 안에서 Entity를 DTO로 변환하거나 DTO를 Entity로 변환할 때 일일이 값을 넣어줘야 해서 불편했다.

MapStruct 라이브러리를 이용하여 간단한 코드만으로 변환이 가능하게 설정하였다.

 

리팩토링을 해보니 고쳐야 할 곳이 생각보다 아주 많았다.

exception 미처리
부족한 자바스크립트 유효성검사
도메인마다 다른 패키지 구조 (조원들마다 다르게 패키지 구조를 만들어 사용했던 점)

생각보다 리팩토링이 오래 걸리겠다는 생각이 들었다.
프로젝트 하나를 새로 만든다는 생각으로 해야겠다.

 

반응형