🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

[워밍업 클럽 4기] Day4 미션 - SOLID, 논리 사고 흐름

  1. 코드 리팩토링

     

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

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

    if (order.hasCustomerInfo()) {
        return true;
    }

    return false;
}
  • Early return을 활용하여 바로 답해주자 (else 지양)

  • 부정어구를 적게 사용할 수 있는 방법이 있으면 변경하자

  • 논리의 깊이를 줄여보자

 

  1. SOLID


    - SRP : 클래스는 하나의 책임만 가져야 한다.


    - OCP : 확장에는 열려 있고, 변경에는 닫혀 있어야 한다.


    - LSP : 자식 클래스는 부모 클래스를 대체할 수 있어야 한다.


    - ISP : 인터페이스는 클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다.


    - DIP : 고수준 모듈은 저수준 모듈에 의존하지 않고, 둘 다 추상에 의존해야 한다.

 

 

reference

댓글을 작성해보세요.

채널톡 아이콘