개발 slecs

환불·정산 출금 카드 클릭 데이터 분리 버그 수정

목차

환불/정산 출금 카드 클릭 데이터 분리

환불/정산 출금 카드 클릭 데이터 분리 버그를 수정했음.

원인 분석

로직 일부가 엣지케이스를 처리하지 못하고 있었음. 실제 운영 데이터에서 발생한 케이스로 재현했음.

재현 조건

특정 조건에서 의도치 않은 동작 확인.

수정 내용

// 수정 전: 엣지케이스 미처리
public void process(Data data) {
    // 정상 케이스만 처리
    execute(data.getValue());
}

// 수정 후: 방어 처리 추가
public void process(Data data) {
    if (data == null || data.getValue() == null) {
        log.warn("처리 불가 데이터: {}", data);
        return;
    }
    execute(data.getValue());
}

검증

수정 후 영향 범위(2개 파일)에서 정상 동작을 확인했음.

재발 방지

유사 패턴에 방어 코드를 추가하고 코드 리뷰 시 체크하기로 했음.

UI/UX 관점

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

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

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

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

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

다음

댓글 0

첫 댓글 달아줘.