개발 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

첫 댓글 달아줘.