개발 slecs

쿠폰 선물 실패 시 잔액 보상 누락

목차

쿠폰 선물 실패 시 charge_balance 보상 누락 버그 수정 + 재발송 기능

쿠폰 선물 실패 시 charge_balance 보상 누락 버그 수정 + 재발송 기능 버그를 수정했음.

원인 분석

새로운 처리 경로를 추가할 때 기존 경로의 공통 처리를 빠뜨렸음.

재현 조건

특정 경로로 처리된 건에서 후처리가 실행되지 않음.

수정 내용

// 수정 전: 분기별 처리, 일부 누락
if (conditionA) {
    processA();
    doCommon(); // A에만 있음
} else {
    processB();
    // doCommon() 누락
}

// 수정 후: 공통 처리를 분기 밖으로
if (conditionA) {
    processA();
} else {
    processB();
}
doCommon(); // 항상 실행

검증

각 분기를 모두 실행해서 공통 처리가 수행되는지 확인했음.

재발 방지

공통 후처리가 필요한 로직은 분기 밖에 두는 패턴을 기본으로 사용하기로 했음.

UI/UX 관점

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

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

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

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

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

다음

댓글 0

첫 댓글 달아줘.