워밍업 클럽 - BE 클린코드 & 테스트코드 DAY4 과제

  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()) {
            log.info("사용자 정보가 없습니다.");
            return false;
        }
    
        // 모든 검증 통과
        return true;
    }
  2. SOLID 정리

    1. SRP : Single Responsibility Principle 단일 책임의 원칙 -> 객체는 하나의 역할만을 수행해야 한다

    2. OCP : Open-Closed Principle 개방-폐쇄의 원칙 ->기존 코드의 변경없이 새로운 기능을 추가하거나 확장할 수 있어야 한다

    3. LSP :Liskov Substitution Principle 리스코브 치환의 원칙 -> 부모 클래스를 자식 클래스로 대체해도 문제가 발생하면 안된다

    4. ISP : Interface Segregation Principle 인터페이스 분리의 원칙 -> 구현체들은 자신이 필요한 기능만을 가진 인터페이스에게 의존해야 한다

    5. DIP : Dependency Inversion Principle 의존성 역전의 원칙 -> 저수준 모듈을 변경하더라도 고수준 모듈에는 영향이 없어야 한다

 

 

댓글을 작성해보세요.

채널톡 아이콘