웰컴페이 서비스 계층을 정적 유틸로 전환해 구조 개선
목차
docs: 웰컴페이 검증 항목 문서 추가 및 ServiceUtil 개선
리팩토링은 기능 변경 없이 코드 품질을 올리는 작업임. 이번엔 패키지 구조 정리와 Service 계층을 Util 방식으로 전환하는 게 핵심이었음.
패키지 구조 재편
기존: 기능별 패키지 내 Controller/Service/Mapper 혼재
개선: Controller(web)와 Util(utl)만 존재
Service를 static Util로 전환한 이유:
- 단일 진입점이 명확해짐
- 의존성 주입 복잡도 감소
- 단위 테스트 작성 용이
전환 단계
| Phase | 대상 | 내용 |
|---|---|---|
| 1-1 | 독립 Service 6개 | 의존성 없는 것 먼저 |
| 1-2 | 중간 의존성 4개 | 1-1 완료 후 |
| 1-3 | 핵심 금융 Service 3개 | 마지막으로 신중하게 |
| 2 | XML 정리 | 죽은 XML 제거 |
리팩토링 중에 기능이 깨지면 안 됨. 각 단계마다 빌드 후 다음으로 넘어감. 커밋도 단계별로 분리해서 롤백 용이하게 유지함.
개발 원칙 정리
이 작업을 진행하면서 재확인한 원칙들:
작은 커밋: 변경 단위를 작게 유지해서 코드 리뷰와 롤백이 쉽게.
테스트 먼저: 변경 전 현재 동작을 파악하고, 변경 후 동일하게 동작하는지 확인.
문서 동기화: 코드가 바뀌면 관련 주석과 문서도 같이 업데이트.
| 원칙 | 이유 |
|---|---|
| 단일 책임 | 하나의 함수/클래스는 하나의 역할만 |
| 명시적 코드 | 영리한 코드보다 읽기 쉬운 코드 |
| 실패 우선 처리 | happy path보다 에러 케이스 먼저 설계 |
끝
댓글 0
첫 댓글 달아줘.