개발 slecs

주문 상태 뱃지를 공통코드로 전환해 중복 제거

목차

최근 주문 뱃지를 ORDER_STATUS 공통코드로 전환

리팩토링 작업을 완료했음.

리팩토링 이유

중복 코드가 여러 클래스에 흩어져 있었음. 수정이 필요할 때 모든 위치를 찾아야 하고, 누락 시 버그가 생김. 공통 메서드로 추출해서 단일 수정 포인트를 만들었음.

변경 전/후

// 수정 전: 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 관리, 코드 변경 없이 라벨 수정 가능

변경 범위

내부 클래스 1개, JSP 1개

기대 효과

수정 포인트가 하나로 줄어들어 향후 변경 비용이 낮아짐. 팀원이 코드를 읽을 때 중복을 보고 혼란스러워하는 일도 없어짐.

회귀 검증

리팩토링은 외부 동작을 바꾸지 않아야 함. 입력/출력이 동일한지 주요 케이스를 기준으로 확인했음. 내부 구조만 변경했고, 배포 후 이상 없이 동작했음.

UI/UX 관점

화면 변경 시 몇 가지를 체크했음.

로딩 상태: 비동기 요청 중에는 로딩 인디케이터를 표시했음. 버튼을 비활성화해서 중복 클릭을 방지했음.

btn.disabled = true;
try {
    await fetch('/api/...');
    showSuccess();
} catch(e) {
    showError(e.message);
} finally {
    btn.disabled = false;
}

빈 상태 처리: 데이터가 없을 때 빈 화면 대신 "데이터가 없습니다" 메시지를 표시했음.

오류 메시지: 기술적인 에러 코드 대신 사용자가 이해할 수 있는 메시지를 표시했음.

다음

댓글 0

첫 댓글 달아줘.