-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[로또] 곽상진 미션 제출합니다. #101
Open
DDangDin
wants to merge
59
commits into
woowacourse-precourse:main
Choose a base branch
from
DDangDin:ddangdin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[로또] 곽상진 미션 제출합니다. #101
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 구입 금액을 입력할 때 출력되는 텍스트는 LottoOutputText에서 통합적으로 관리
- 예외 메시지는 ErrorMessage에서 통합 관리
- 로또 발매기(LottoMachine)에서 1개의 로또를 생성하는 기능 추가 - 가격에 따른 로또 개수 계산 기능 추가
- 로또 구입 금액 만큼 로또를 발행
- LottoGenerator 라는 이름이 더 적합하다고 생각해서 클래스명 수정
- 발행한 로또 수량을 출력 텍스트와 함께 출력 - Lotto 클래스에서 정렬된 숫자를 반환하는 메서드 추가
- 로또 숫자 발행 시작 범위 0으로 잘못 명시 되어 있어서 1로 수정
- 당첨 번호, 보너스 번호를 입력만 받아 놓은 상태
- 입력 예외 처리와 입력 공통 예외 처리를 분리 - 입력 예외 처리에 몇 가지 항목 추가
- 당첨 내역과 수익률 기능을 분리하여 작성
- 당첨 번호 정수형으로 매핑 - 보너스 번호 입력 텍스트 추가 - 로또 리스트 -> 숫자 리스트로 매핑해주는 메서드 추가 - LottoResult에서 당첨 번호, 보너스 번호를 통해 당첨 카운트 출력
- 오름차순 정렬 테스트 추가
- LottoCounter를 통해 로또 번호를 당첨 번호와 보너스 번호와 비교 - Lotto 클래스에 numbers 반환하는 메서드 추가
- LottoCounter는 유틸리티 클래스로서 생성자 파라미터 제거 - Lotto 클래스에서 불필요한 확장함수 제거
- LottoCounter -> LottoMatcher 클래스 명 수정 - LottoMatcher의 countWithBonusNumber -> hasBonusNumber 메서드 명 수정 - hasBonusNumber 로직 수정
- 클래스 명 수정에 따른 테스트 코드 수정
- LottoNumberMatcher 메서드 명 수정 - LottoRank 를 통해 순위 지정 - LottoResult 에서 당첨 통계 계산 (현재는 로또 순위 매기는 기능만 존재)
- LottoResult 에서 수익률 계산하는 기능 추가 - 당첨 통계 내역을 가지고 있는 데이터 클래스 LottoResultDetail 추가
- 수익률 소수점 둘째 자리에서 반올림 - 수익률 Double 로 수정 - LottoResultDetail에 소수점 둘째자리에서 반올림한 수익률 프로퍼티 추가 (Application 에서 임시 출력 코드 추가)
- getLottoLank 메서드 추가 - 보너스 번호가 포함되어 있을 때 확실하게 처리하도록 수정
- LottoResult 수정에 따른 테스트 코드 수정
- 수익률 수식 아주 약간 변경 - 반올림 하는 확장함수 추가
- 당첨 내역을 출력하는 기능 추가 - 수익률을 출력하는 기능 추가 - 당첨 내역 출력 시 금액을 천단위 쉼표로 구분하는 확장함수 추가 - LottoRank를 출력용 문자열로 바꿔주는 함수 추가
- 유효성 검사를 위해서 로또 최소, 최대 번호 상수 값을 전역적으로 관리
- 중복되는 숫자가 없는지 검사 - 로또 최대 번호인 45를 초과하는 번호가 없는지 검사
- 로또 예외 처리 영역 생성 - 로또 예외 처리 추가 - 완료된 예외 처리 진행상황 업데이트
- MVC 구조 생성
- MVC 패턴에 맞춰 리팩토링
- View 계층이 Model 계층을 의존하지 않게 수정 - 최대한 Controller 계층이 View, Model 계층의 다리 역할을 하게끔 수정
- 역할 별로 Validator를 생성 - 새로 생성한 Validator 적용 - 그 외 자잘한 수정
- 테스트 코드 파일 명 수정 - LottoOutputText 패키지 위치 수정
- 유효성 검사 수정 - 무한 루프 수정
- 무한 루프 수정 - LottoOutputView NewLine 메서드 추가
- 출력 텍스트 일부 수정
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
우테코 프리코스 3주차 - 로또
간단한 로또 발매기를 구현
⚙️ 기능 목록 정리
로또
로또 예외 처리