🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

워밍업 클럽 3기 BE 클린코드&테스트 - 2주차 발자국

워밍업 클럽 3기 BE 클린코드&테스트 - 2주차 발자국

강의 수강

주석의 양면성

  • 주석은 죄악 vs 주석 좀 남겨줘라

  • 주석이 많다는 것은 코드로 잘 표현을 하지 못했다는 의미

  • 후대에 전해야할 의사 결정의 히스토리를 코드로 표현할 수 없을때 주석으로 상세하게 설명(이런 정책 선정의 이유)

  • 주석 작성시 자주 변하는 정보는 최대한 지양

  • 코드 업데이트시 당연히 문서도 업데이트

변수와 메서드의 나열 순서

  • 변수

    • 사용하는 순서대로 나열

  • 메서드의 순서 객체의 입장에서 생각

패키지 나누기

  • 패키지는, 문맥으로써의 정보를 제공할 수 있다.

  • 패키지를 쪼개지 않으면 관리가 어려워진다.

  • 패키지를 너무 잘게 쪼개도 마찬가지로 관리가 어려워진다.

리팩토링 포인트

  • 추상화 레벨

  • 객체로 묶어볼만한 것은 없는지

  • 객체지향 패러다임에 맞게 객체들이 상호 협력하고 있는지

  • SRP : 책임에 따라 응집도 있게 객체가 잘 나뉘어져 있는지

  • DIP : 의존관계 역전을 적용할 만한 곳은 없는지

  • 일급 컬렉션

은탄환은 없다.

미션

  • 패스를 두종류의 인터페이스를 만들고 해당 구현체를 사용하게 하였음

  • display 같은 경우도 pass의 정보를 출력하는 거니까 pass에 구현하였음

  • 머신의 경우 분기문을 메서드로 추출

  • 주문객체를 생성하여 주문정보를 출력하게 수정

  • https://github.com/wjdrltjr5/inflearn-warming-up/tree/refactoring

    회고

    아 시간이 부족해서 리팩토링 과제에 충분히 시간을 쏟지 못해서 고민할만한 포인트나 결과물을 만들어 내지 못했고 코드리뷰를 신청하지 못한것이 후회가 된다.

     

댓글을 작성해보세요.


채널톡 아이콘