Clean Code

    [Clean code] Clean code function 원칙을 지켜가며 나만의 코드 리팩터링하기

    [Clean code] Clean code function 원칙을 지켜가며 나만의 코드 리팩터링하기

    이 글은 클린 코드 강의를 보며 나만의 코드를 리팩토링 하는 글입니다. 클린 코드 중 함수의 원칙 한가지 일만 해야 한다. 함수의 크기는 작아야 한다. indentation, while, nested if 등은 없어야 한다 잘 지어진 서술적인 긴 이름을 갖는 많은/작은 함수들로 유지해야 한다. 원칙을 지키면서 리팩터링 진행해보는 글을 써보겠습니다. 아래의 코드는 주로 미니 프로젝트를 진행하면서 많이 보는 코드이다. 주석을 보면 멤버 조회 아이템 조회 배송정보 생성 주문상품 생성 주문 생성 주문 저장 6가지 행위들이 있다. 주석이 없으면 이해하는데 시간이 걸리는 코드이고 OrderService에서의 책임이 아닌 행위들이 많아 안티 패턴으로 보인다. 그러면 코드를 어떻게 리팩터링하면 좋을까? 먼저 책임과 역..

    [Clean code] OOP에서 재사용이 뭔가?

    클린 코드 강의를 듣고 내용을 정리한 글이니 아래 참조 링크를 참고하시기 바랍니다. 책임과 역할을 잘 알고 분류해야 한다. 예로는 UserService 라는 서비스 클래스가 어떠한 역할을 하는지 알아야 한다. 대부분 crud라는 기능이 있을 것인데, 분류를 해보면 Read와 Write 라는 책임과 역할이 있다. 이러한 책임과 역할을 따로 빼면 UserReadService와 UserWriteService라는 두 클래스로 뽑아 낼 수 있다. 구현 상속이 객체 지향에서의 재사용이 절대 아니다! 상속은 객체에게 다형성을 제공한다. 구현 상속 상위 타입의 구현을 재사용 인터페이스 상속 타입 정의만 상속 구현 상속 복잡한 상속 관계에 있는 클래스를 재사용하는 것이 아니고 공통적인 기능을 뽑아 하나로 만들어 공통 기..