inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 3기 BE 클린코드 & 테스트] - Day 4 미션 제출

익명
0

1. 아래 코드와 설명을 보고, [섹션 3. 논리, 사고의 흐름]에서 이야기하는 내용을 중심으로 읽기 좋은 코드로 리팩토링해 봅시다.

원본

public boolean validateOrder(Order order) {

if (order.getItems().size() == 0) {

log.info("주문 항목이 없습니다.");

return false;

} else {

if (order.getTotalPrice() > 0) {

if (!order.hasCustomerInfo()) {

log.info("사용자 정보가 없습니다.");

return false;

} else {

return true;

}

} else if (!(order.getTotalPrice() > 0)) {

log.info("올바르지 않은 총 가격입니다.");

return false;

}

}

return true;

}

리팩토링

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)

4) 의존 역전 원칙 (DIP: Dependency Inversion Principle)

 

백엔드

답변 0