[작년 문제 풀어보기] 5기 3주차 피드백

별의개발자커비·2023년 9월 23일
0

우테코 도전기

목록 보기
9/37
post-thumbnail

고칠점

  • 보너스 번호 예외 상황 추가
    - 보너스번호가 7,8 두개라던지
  • winningNumber 예외 상황 추가
    - 45넘는 숫자인경우
  • winningNumbers 예외 상황 추가
    - 중복된 숫자 있는 경우
  • getter가 아니라 그 안에서 contains 메소드를 수행한 결과를 갖고오게 하는 방법으로
    문자열 덧셈 계산기
  • 정적 팩토리 메소드 이점 찾아보기

적용점

스터디원의 코드를 보고 적용할 점을 정리해보려고 한다.

  • new 객체 생성자에 validate를 넣는 게 아니라 from으로 해서 넣어서 가져오네? 장점은?

  • dto 써보기

    • dto: 문자로 받아들이는 애, 숫자로 변환해줌. 따라서: 해당하는 숫자인지, 공백인지 처리,
    • domain: 숫자로 받아들이는 애. 따라서: 숫자 내의 범위 처리
  • 단순히 티켓수 같은 것도 객체화를 해주는 구나

    • rate도 객체화
  • quantity만큼 로또 생성하는 stream.generate 써보기

  • 객체를 view에 필요한 형태로 바꿔주는 dto로 전달하는 방법도 있구나!

  • dto 이용 2번째 - winningNumber 넘길 때도

    1. bonus, winning을 합친 infoDTO로 넘길 수 있다.
    2. bonus가 winning과 중복된 숫자인지 valid를 필요한 게 마침 여기 있으니까 할 수 있다.
    3. winning, bonus도 입력 받는 애니까 dto로 받아서 문자 단위 검증해서 Lotto, Lottonumber로 넘긴다.
      단, 받는 형식 차이가 있으므로 각각 requestDTO가 필요하다.
  • 결과 구하는 거 단계, 단계 그려서 이해하기 -> 적용

    • Collectors.groupingBy(Function.identity(), Collectors.counting() 이쪽도 이해 필요
  • 와우 enumMap도 있구나!

    • 근데 왜 바로 return 하지 않은 걸까 했더니,
  • 결과 print 이해 필요

0개의 댓글