쿠폰 공급사 라벨을 공통코드로 분리해 중복 제거
목차
공급사 라벨을 공통코드(COUPON_PROVIDER_TYPE)로 분리
리팩토링 작업을 완료했음.
리팩토링 이유
중복 코드가 여러 클래스에 흩어져 있었음. 수정이 필요할 때 모든 위치를 찾아야 하고, 누락 시 버그가 생김. 공통 메서드로 추출해서 단일 수정 포인트를 만들었음.
변경 전/후
// 수정 전: JSP에 하드코딩
// <c:when test="${status eq 'PENDING'}">처리중</c:when>
// <c:when test="${status eq 'DONE'}">완료</c:when>
// 수정 후: 공통코드 조회
String label = commonCodeService.getLabel("ORDER_STATUS", status);
// → DB 관리, 코드 변경 없이 라벨 수정 가능
변경 범위
SQL 매퍼 2개, JSP 1개
기대 효과
수정 포인트가 하나로 줄어들어 향후 변경 비용이 낮아짐. 팀원이 코드를 읽을 때 중복을 보고 혼란스러워하는 일도 없어짐.
회귀 검증
리팩토링은 외부 동작을 바꾸지 않아야 함. 입력/출력이 동일한지 주요 케이스를 기준으로 확인했음. 내부 구조만 변경했고, 배포 후 이상 없이 동작했음.
UI/UX 관점
화면 변경 시 몇 가지를 체크했음.
로딩 상태: 비동기 요청 중에는 로딩 인디케이터를 표시했음. 버튼을 비활성화해서 중복 클릭을 방지했음.
btn.disabled = true;
try {
await fetch('/api/...');
showSuccess();
} catch(e) {
showError(e.message);
} finally {
btn.disabled = false;
}
빈 상태 처리: 데이터가 없을 때 빈 화면 대신 "데이터가 없습니다" 메시지를 표시했음.
오류 메시지: 기술적인 에러 코드 대신 사용자가 이해할 수 있는 메시지를 표시했음.
다음
댓글 0
첫 댓글 달아줘.