[우아한테크코스] 5일차 TIL
오늘 배운 것
- 첫 번째 미션에서 보완해야할 점
- 자동차경주 미션에서 받은 피드백 (4일차는 피드백을 기다리며 휴식..)
TIL
보완할 점
- commit 메시지를 더욱 체계적으로 사용하자
- Commit Type
- feat: 새로운 기능 추가
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
- refactor: 코드 리펙토링
- test: 테스트 코드, 리펙토링 테스트 코드 추가
- chore: 빌드 업무 수정, 패키지 매니저 수정
리뷰 받은 점
- 메시지도 정적 멤버로 분리하자
- 출력할 메시지도 상수화하여 관리하도록 하자 (그렇다면 예외 메시지도?)
- test 메소드명에 한글은 사용하지 않도록 하자
- 새로운 것을 생성하는데에 드는 낭비를 항상 생각하자
return MINIMUM_NUMBER + new Random().nextInt(MAXIMUM_NUMBER - MINIMUM_NUMBER + 1);
예를 들어 이렇게 항상 Random 객체를 생성할 필요가 없음을 알자!
- 로직 분리가 필요하다면 메서드 분리를 하자
- 객체에 메시지를 보내는데에 집중하자. 뭔가 이상한데? 싶으면 진짜 이상할 가능성이 크다!
- 객체의 값을 직접 드러내지 말고, 일을 시키도록 하자! 근데 진짜 값만 필요한 경우는 어떻게?? ㅠㅠ
- 디미터의 법칙
객체의 속사정을 알리지 않고자 하는 법칙으로
- 나는 내 소유의 장난감만 가지고 놀 수 있다. (don’t talk to stranger)
- 객체의 내부 구조를 묻지 말고, 메시지를 보내 수행하도록 해라.
“한 클래스에 속한 메소드들은 어떤 식으로든지 다른 클래스 구조에 의존해서는 안된다. 단, 직 상위 클래스 구조만은 예외로 의존해도 된다. 게다가 각 메소드가 메시지를 보낼 때도 극히 제한된 클래스 집합에 속하는 객체에게만 보내야 한다.”
- 한 줄에 하나의 점만 사용하도록 한다. 하나의 동작에 대해 어떤 객체가 맡고 있는지 구분하기 어렵고, 책임소재의 오류가 많이 발생하기 때문이다. 객체가 자기 속을 들여다보게 하기보다는 작업을 하도록 해야한다.