inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 스터디 3기] Day 4 미션

sonshn
0

이 포스트는 [인프런 워밍업 클럽 스터디 3기](https://www.inflearn.com/course/offline/warmup-club-3-be-code)에 참여한 후, [Readable Code: 읽기 좋은 코드를 작성하는 사고법](https://www.inflearn.com/course/readable-code-%EC%9D%BD%EA%B8%B0%EC%A2%8B%EC%9D%80%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%82%AC%EA%B3%A0%EB%B2%95)를 수강한 후 작성된 포스트입니다.

 

Day 4 미션

 

  1. 주어진 코드와 설명을 보고, [섹션 3. 논리, 사고의 흐름]에서 이야기하는 내용을 중심으로 읽기 좋은 코드로 리팩토링 해봅시다.

public static final String NO_ORDER_ITEM_EXISTS = "주문 항목이 존재하지 않습니다.";
public static final String INVALID_TOTAL_PRICE = "주문한 가격의 총합이 올바르지 않습니다.";
public static final String NO_USER_INFO_EXISTS = "사용자 정보가 존재하지 않습니다.";

public static boolean isValidTotalPrice(int price) {
    return price > 0;
}

public boolean validateOrder(Order order) {
    if (order.getItems().isEmpty()) { // size() == 0 -> 의미가 같은 isEmpty()로 교체
        log.info(NO_ORDER_ITEM_EXISTS);
        return false;
    }

    if (isValidTotalPrice(order.getTotalPrice()) == false) {
        log.info(INVALID_TOTAL_PRICE);
        return false;
    }

    if (order.hasNoCustomerInfo()) {
        log.info(NO_USER_INFO_EXISTS);
        return false;
    }

    return true;
}

 

  1. SOLID에 대하여 자기만의 언어로 정리해 봅시다.

백엔드 백엔드

답변 0