[인프런 워밍업 클럽] 스터디 3기_백엔드 클린 코드, 테스트 코드 1주차 발자국

[인프런 워밍업 클럽] 스터디 3기_백엔드 클린 코드, 테스트 코드 1주차 발자국

이 포스트는 [인프런 워밍업 클럽 스터디 3기](https://www.inflearn.com/course/offline/warmup-club-3-be-code)에 참여한 후, [Readable Code: 읽기 좋은 코드를 작성하는 사고법](https://www.inflearn.com/course/readable-code-%EC%9D%BD%EA%B8%B0%EC%A2%8B%EC%9D%80%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%82%AC%EA%B3%A0%EB%B2%95)를 수강한 후 작성된 포스트입니다.

public boolean validateOrder(Order order) {
    Boolean validate =  false;
    //주문자 정보 체크
    if(order.hasCustomerInfo()){
        //주문 정보 체크
        validate = order.isValidateOderInfo();
    }
    return validate;
}

 

public class Order {
    Customer customer;
    Item item;
    public boolean hasCustomerInfo() {
        if(customer.getInfo()){
            return true;
        }
        return false;
    }



    public boolean isValidateOderInfo() {
        if(isValidatePrice() && isValidateItem()){
            return true;
        }
        return false;
    }
    public boolean isValidatePrice(){
        if(this.getTotalPrice() > 0){
            return true;
        }
        return false;
    }
    public boolean isValidateItem(){
       if(this.getItems() == 0){
           return false;
       }
       return true;
    }
    public List getItems(){
        return item.getItem();
    }
    public int getTotalPrice(){
        return item.getItem() * item.getPrice();
    }
}

Day 4 미션으로 리팩토링 미션이 주어졌다.

논리의 흐름으로 리팩토링 하려 했다.

  1. 주문 유효성 체크를 위해서는 주문자 정보를 확인하는게 우선이라 생각했다.

  2. 주문자 정보가 없으면 주문 정보가 있더라도 유효한 주문이 아니기 때문이다.

  3. 주문자 정보와 주문정보를 if문으로 분기했는데 강의에서 강조하는 부분을 정확하게 이수했는지 여부는 조금더 있어봐야알것같다.

 

Day4미션을 작성하면서 Solid원칙도 학습하였는데

단일 책임원칙, 개방폐쇄원칙은 비교적 쉽게 와닿았는데 리스코프 치환원칙이나 의존성 역전의 원칙은 쉽게 와닿는 개념은 아니라서 더 학습해봐야겠다.

 

회고

잘된점 : 미션을 기한내에 제출했다.

안된점 : 제출한 미션의 질이 좋지않다. 시간을 더 내서 다음번엔 더 퀄리티있는 발자국을 남기고싶다.

댓글을 작성해보세요.

채널톡 아이콘