inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

워밍업 클럽 4기 - 백엔드 Day 4 미션

Tommy
0

코드 Refactoring

public boolean validateOrder (Order order) {
        if (order.getItems().size() == 0){
            log.info("주문 항목이 없습니다");
            return false;
        } else {
            if (order.getTotalPrice() > 0) {
                if (!order.hasCustomerInfo()) {
                    log.info("사용자 정보가 없습니다.");
                    return false;
                } else {
                    return true;
                }
            } else if (!(order.getTotalPrice() > 0)) {
                log.info("올바르지 않은 총 가격입니다");
                return false;
            }
        }
        return true;
    }
public boolean validateOrder (Order order) {

    if (order.getItems().isEmpty()) {
        log.info("주문 항목이 없습니다.");
        return false;
    }

    if (order.getTotalPrice() <= 0) {
        log.info("올바르지 않은 총 가격입니다.");
        return false;
    }

    if (!order.hasCustomerInfo()) {
        log.info("사용자 정보가 없습니다.");
        return false;
    }
    
    return true;
}

Early return을 적용하여 중첩이 깊어지는 사항을 제거하였습니다.

order의 item 개수를 검증할 때, isEmpty() 메서드로 보다 이해하기 좋은 코드로 변경하였습니다.

 

SOLID

 

답변 0