[워밍업 클럽 4기] Day4 미션 - SOLID, 논리 사고 흐름
3개월 전
코드 리팩토링
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 지양)
부정어구를 적게 사용할 수 있는 방법이 있으면 변경하자
논리의 깊이를 줄여보자
SOLID
- SRP : 클래스는 하나의 책임만 가져야 한다.
- OCP : 확장에는 열려 있고, 변경에는 닫혀 있어야 한다.
- LSP : 자식 클래스는 부모 클래스를 대체할 수 있어야 한다.
- ISP : 인터페이스는 클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다.
- DIP : 고수준 모듈은 저수준 모듈에 의존하지 않고, 둘 다 추상에 의존해야 한다.
reference
댓글을 작성해보세요.