inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

워밍업 클럽 3기 BE 클린코드 - Day 4 미션

야넼
0

코드 리팩토링

public boolean validateOrder(Order order) {
    try {
	checkOrderContainsItems(order);
	checkOrderHaveValidPrice(order);
	checkOrderContainCustomerInfo(order);
	    
	return true;
    } catch(OrderException e) {
	log.error(e.getMessage());
			
	return false;
    }
}

private void checkOrderContainsItems(Order order) {
    if (order.containsNoItems()) {
        throw new OrderException("주문 항목이 없습니다.");
    } 
}

private void checkOrderContainCustomerInfo(Order order) {
    if (order.doesNotContainCustomerInfo()) {
        throw new OrderException("사용자 정보가 없습니다.");
    } 
}

private void checkOrderHaveValidPrice(Order order) {
    if (order.priceIsInvalid()) {
        throw new OrderException("올바르지 않은 총 가격입니다.");
    }
}

SOLID

단일책임 원칙

개방/폐쇄 원칙

리스코프 치환 원칙

인스턴스 분리 원칙

의존성 역전 원칙

 

결과적으로 SOLID 원칙을 지킨다는 것은 신뢰할 수 있는 프로그래밍을 위한 도구를 사용한다는 것으로 보인다.

이를 통해 협업에서 신뢰할 수 있는 분업이 가능해지고, 결과적으로 안정적인 프로그램을 구축할 수 있다고 생각된다.


참고: 자바/스프링 개발자를 위한 실용주의 프로그래밍, 김우근 - 위키북스

프로그래밍 언어 워밍업클럽 클린코드 미션

답변 0