inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

wjdwodnr5452
0

1. 읽기 좋은 코드로 리팩토링

 

class Order {

    private List<Item> items;
    private Customer customer;

    public Order(List<Item> items, Customer customer) {
        this.items = items;
        this.customer = customer;
    }

    public boolean isEmptyOrderItems() {
        return items.isEmpty();
    }

    public boolean isNotGetTotalPrice() {
        int sum = items.stream().mapToInt(Item::getItemPrice).sum();
        return sum == 0;
    }

    public boolean isNotCustomerInfo() {
        return customer == null;
    }
}



public boolean validateOrder(Order order) {
    if (order.isEmptyOrderItems()){
        log.info("주문 항목이 없습니다.");
        return false;
    }

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

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

   return true;
}

부정연산자 제거

Early return

 

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

 

SRP (단일책임 원칙)

OCP (개방폐쇠 원칙)

 

LSP (리스코프 치환 원칙)

 

ISP(인터페이스 분리 원칙)

 

DIP(의존성 역전 원칙)

 

 

답변 0