
워밍업 클럽 3기 BE 클린코드&테스트 - 2주차 발자국
1개월 전
강의 수강
주석의 양면성
주석은 죄악 vs 주석 좀 남겨줘라
주석이 많다는 것은 코드로 잘 표현을 하지 못했다는 의미
후대에 전해야할 의사 결정의 히스토리를 코드로 표현할 수 없을때 주석으로 상세하게 설명(이런 정책 선정의 이유)
주석 작성시 자주 변하는 정보는 최대한 지양
코드 업데이트시 당연히 문서도 업데이트
변수와 메서드의 나열 순서
변수
사용하는 순서대로 나열
메서드의 순서 객체의 입장에서 생각
패키지 나누기
패키지는, 문맥으로써의 정보를 제공할 수 있다.
패키지를 쪼개지 않으면 관리가 어려워진다.
패키지를 너무 잘게 쪼개도 마찬가지로 관리가 어려워진다.
리팩토링 포인트
추상화 레벨
객체로 묶어볼만한 것은 없는지
객체지향 패러다임에 맞게 객체들이 상호 협력하고 있는지
SRP : 책임에 따라 응집도 있게 객체가 잘 나뉘어져 있는지
DIP : 의존관계 역전을 적용할 만한 곳은 없는지
일급 컬렉션
은탄환은 없다.
미션
패스를 두종류의 인터페이스를 만들고 해당 구현체를 사용하게 하였음
display 같은 경우도 pass의 정보를 출력하는 거니까 pass에 구현하였음
머신의 경우 분기문을 메서드로 추출
주문객체를 생성하여 주문정보를 출력하게 수정
https://github.com/wjdrltjr5/inflearn-warming-up/tree/refactoring
회고
아 시간이 부족해서 리팩토링 과제에 충분히 시간을 쏟지 못해서 고민할만한 포인트나 결과물을 만들어 내지 못했고 코드리뷰를 신청하지 못한것이 후회가 된다.
댓글을 작성해보세요.