inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[워밍업 클럽 스터디 2기 백엔드(클린코드, 테스트코드)] 1주차 발자국

sdsd988
0

1주차 강의

요약 : 좋은 코드(클린코드)를 작성하기 위한 도구와 사용 방법을 학습

 

강의 내용

  1. 추상과 구체 (클린코드의 목적과 도구)

  2. 논리, 사고의 흐름

     

     

    • 우리는 코드를 읽는 시간이 더 많다.

    • 따라서, 코드는 쉽게 읽히고 이해되어야 한다.

    • 이를 위해, 우리는 추상, 구체 를 이해하고 분리해야 한다.

    • 메서드 작성, 파라미터 선언, 반환값 고민, 매직 스트링 등 좋은 코드 작성을 위한 고민과 도구를 학습

    • 조기 리턴, 공백 라인, 부정어 등 이해하기 쉬운 코드 작성을 위해 조심해야 하는 부분 학습

       

한번쯤 들어보거나, 읽어본 이야기다. 그렇지만, 현업에서 개발하면서 시간을 핑계로, 선배들이 좋게 보지 않는다는 이유로 실무 개발과 공부한 내용을 분리해서 개발해왔다. 그렇기에, 실제 코드를 바탕으로 고민하고 코드를 작성해보는 경험이 좋았다. 개발자는 고민하고, 코드를 직접 작성해봐야 뭐가 된다는 것을 새삼 느낄 수 있었다.

 

  1. 객체 지향 패러다임

미션 : 배운 내용을 바탕으로 고민해보기

미션은 강의를 학습한 내용을 적용해보는 방향으로 접근했다.

특히, 고민 해보는 것을 중요하게 생각했다.

과거에도 강의를 보고 학습하면서, 직접 고민해보는 시간이 부족했다고 생각했다.


public class Delivery {

    private Order order;

    public boolean validateOrder(Order order) {
        if (validateItemSize(order)) {
            log.info("주문 항목이 없습니다.");
            return false;
        }

        if (validateTotalPrice(order)) {
            log.info("올바르지 않은 총 가격입니다.");
            return false;
        }

        if (DoesNotHaveCustomerInfo(order)) {
            log.info("사용자 정보가 없습니다.");
            return false;
        }

        return true;

    }

    private boolean validateTotalPrice(Order order) {
        return order.getTotalPrice() <= 0;
    }

    private boolean validateItemSize(Order order) {
        return order.doesNotHaveItems();
    }

    private boolean DoesNotHaveCustomerInfo(Order order) {
        return order.doesNotHaveCustomInfo();
    }
}

 

1주차 회고

 

백엔드 백엔드 클린코드 ReadableCode 읽기좋은코드를작성하는사고법

답변 0