[우아한테크코스] 5일차 TIL

1 minute read

오늘 배운 것

  1. 첫 번째 미션에서 보완해야할 점
  2. 자동차경주 미션에서 받은 피드백 (4일차는 피드백을 기다리며 휴식..)

TIL

보완할 점

  1. commit 메시지를 더욱 체계적으로 사용하자
    • Commit Type
    • feat: 새로운 기능 추가
    • fix: 버그 수정
    • docs: 문서 수정
    • style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
    • refactor: 코드 리펙토링
    • test: 테스트 코드, 리펙토링 테스트 코드 추가
    • chore: 빌드 업무 수정, 패키지 매니저 수정

리뷰 받은 점

  1. 메시지도 정적 멤버로 분리하자
    • 출력할 메시지도 상수화하여 관리하도록 하자 (그렇다면 예외 메시지도?)
  2. test 메소드명에 한글은 사용하지 않도록 하자
  3. 새로운 것을 생성하는데에 드는 낭비를 항상 생각하자
     return MINIMUM_NUMBER + new Random().nextInt(MAXIMUM_NUMBER - MINIMUM_NUMBER + 1);
    

    예를 들어 이렇게 항상 Random 객체를 생성할 필요가 없음을 알자!

  4. 로직 분리가 필요하다면 메서드 분리를 하자
  5. 객체에 메시지를 보내는데에 집중하자. 뭔가 이상한데? 싶으면 진짜 이상할 가능성이 크다!
  6. 객체의 값을 직접 드러내지 말고, 일을 시키도록 하자! 근데 진짜 값만 필요한 경우는 어떻게?? ㅠㅠ
  7. 디미터의 법칙 객체의 속사정을 알리지 않고자 하는 법칙으로
    • 나는 내 소유의 장난감만 가지고 놀 수 있다. (don’t talk to stranger)
    • 객체의 내부 구조를 묻지 말고, 메시지를 보내 수행하도록 해라.

      “한 클래스에 속한 메소드들은 어떤 식으로든지 다른 클래스 구조에 의존해서는 안된다. 단, 직 상위 클래스 구조만은 예외로 의존해도 된다. 게다가 각 메소드가 메시지를 보낼 때도 극히 제한된 클래스 집합에 속하는 객체에게만 보내야 한다.”

    • 한 줄에 하나의 점만 사용하도록 한다. 하나의 동작에 대해 어떤 객체가 맡고 있는지 구분하기 어렵고, 책임소재의 오류가 많이 발생하기 때문이다. 객체가 자기 속을 들여다보게 하기보다는 작업을 하도록 해야한다.