파트너 포탈 SQL·CSS 리팩토링으로 가독성과 유지보수성 개선
목차
파트너 포탈 CSS 리팩토링 및 SQL 개선
리팩토링 작업을 완료했음.
리팩토링 이유
코드 가독성과 유지보수성 향상을 위한 리팩토링이었음.
변경 전/후
// 수정 전: 중복/복잡 로직
// 각 클래스에 동일 로직 반복
// 수정 후: 명확하고 단일 책임
public static Long resolveId(Object source) {
if (source instanceof TypeA a) return a.getId();
if (source instanceof TypeB b) return b.getRefId();
throw new IllegalArgumentException("지원하지 않는 타입: " + source.getClass());
}
변경 범위
SQL 매퍼 4개, JSP 2개
기대 효과
코드 가독성이 높아지고 수정 비용이 낮아졌음. 동일 기능을 더 적은 코드로 표현하게 됐음.
회귀 검증
리팩토링은 외부 동작을 바꾸지 않아야 함. 입력/출력이 동일한지 주요 케이스를 기준으로 확인했음. 내부 구조만 변경했고, 배포 후 이상 없이 동작했음.
UI/UX 관점
화면 변경 시 몇 가지를 체크했음.
로딩 상태: 비동기 요청 중에는 로딩 인디케이터를 표시했음. 버튼을 비활성화해서 중복 클릭을 방지했음.
btn.disabled = true;
try {
await fetch('/api/...');
showSuccess();
} catch(e) {
showError(e.message);
} finally {
btn.disabled = false;
}
빈 상태 처리: 데이터가 없을 때 빈 화면 대신 "데이터가 없습니다" 메시지를 표시했음.
오류 메시지: 기술적인 에러 코드 대신 사용자가 이해할 수 있는 메시지를 표시했음.
다음
댓글 0
첫 댓글 달아줘.