TDD, 클린 코드 with Java 18기: 로또 - TDD(로또(수동))

yshjft·2024년 5월 20일
0

로또 - TDD(로또(수동))

리뷰 내용

🤔 리뷰 링크

로또 - TDD: 4단계 - 로또(수동) #3704


🤔 enum 값을 끄내지 말고 메시지를 전달하여 처리하라

리뷰어


🤔 WinningAndBonusNumbers에서 당첨 번호와 우승 번호의 중복 검증

리뷰어
이전 단계의 피드백을 통해 WinningAndBonusNumbers 라는 클래스를 만들게 되었습니다. 이전에는 BonusNumber 인스턴스를 생성할 때 WinningNumbers 도 파라미터로 전달하여 중복을 확인했는데 WinningAndBonusNumbers 에 중복 확인 로직을 이동시키니 훨씬 더 코드가 직관적이게 되었습니다.


🤔 객체의 필드는 최대한 꺼내지 않고 메시지를 전달하여 처리할 수 있도록 코드를 작성하자

리뷰어


🤔 ManualGeneratingStrategy 내부에서 automaticLotto()를 통해 자동으로 로또를 생성하는 것은 어색하다

리뷰어

  • 6개의 로또 번호(List<LottoNumber> 또는 List<Integer>)를 전달 받으면 이를 로또로 생성해주는 역할만 수행하는 게 ManualGeneratingStrategy란 이름에 어울리다고 생각된다.
  • InputView 내부에서 자체적으로 수동 로또를 생성하는 부분이 있는데 이 부분도 개선의 여지가 있다.

  • 처음에는 이해가 가지 않았지만 다시 생각해보니 너무나 맞는 피드백이었습니다. InputView에서는 수동 로또를 생성하는 책임을 부여하는게 아니라 로또 번호만을 입력받아 ManualGeneratingStrategy에 전달해야 했습니다.
profile
꾸준히 나아가자 🐢

0개의 댓글