워밍업 클럽 4기 BE 클린코드&테스트 Day 4 미션
5개월 전
1.
package cleancode.minesweeper.asis;
import java.util.List;
import java.util.Optional;
public class Order {
private List<String> items;
private int price;
//private Customer customer;
private Optional<Customer> customer = Optional.empty();
public boolean validateOrder(Order order) {
if(order.isOrderItemsListEmpty()) {
return printErrorMessage("주문 항목이 없습니다.");
}
if(order.isTotalPriceBelowZero()) {
return printErrorMessage("올바르지 않은 총 가격입니다.");
}
if(order.hasNotCustomerInfo()) {
return printErrorMessage("사용자 정보가 없습니다.");
}
return true;
}
private boolean hasNotCustomerInfo() {
//return customer == null;
return customer.isEmpty();
}
private boolean isTotalPriceBelowZero() {
return price < 0;
}
private boolean isOrderItemsListEmpty() {
return items.isEmpty();
}
private boolean printErrorMessage(String message) {
log.info(message);
return false;
}
}
2.
SOLID는 연인 관계와 비슷하다
SRP : 연인에게 모든 집안일을 맡겨서는 안된다 각자 맡은 일을 하나씩 하자
OCP : 연인의 이런 저런 요구사항이 생겨도 교제 초기 내 마음을 수정하지 말고 받아들이는 확장적인 자세를 갖자
LSP : 다른 연인을 만나도 연애하는 기본 방식은 같다
ISP : 연인에게 불필요한 부탁은 하지말고 꼭 필요한 부탁을 하자
DIP : 내가 좋아하는 건 연인의 외모나 마음이 될 수도 있지만 내가 좋아하는 건 연인 그 자체다
댓글을 작성해보세요.