- 로또 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
##프로그래밍 요구사항
- 모든 로직에 단위 테스트를 구현한다. 단, UI(System.out, System.in) 로직은 제외
- 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분한다.
- UI 로직을 InputView, ResultView와 같은 클래스를 추가해 분리한다.
- 자바 코드 컨벤션을 지키면서 프로그래밍한다.
- else 예약어를 쓰지 않는다.
- 힌트: if 조건절에서 값을 return하는 방식으로 구현하면 else를 사용하지 않아도 된다.
- else를 쓰지 말라고 하니 switch/case로 구현하는 경우가 있는데 switch/case도 허용하지 않는다.
- 입력은 구입 금액. 지난주 당첨 번호
- 출력은 구입 금액 입력 후에 구입 금액에 따라 자동 복권 번호를 출력, 지난주 당첨 번호에 따라 당첨 통계 출력
- 자동 번호와 지난주 당첨 번호에 따라 수익률 계산 및 출력
- 입력
- InputView 클래스에서 구입금액과 지난 주 당첨 번호를 입력 받는다.
- 음수, 정수가 아닌 문자, null 등 validation 처리
- 구입 금액은 최소 금액인 1000원 이상만 입력
- 출력
- ResultView 클래스에서 구입 금액에 따른 자동 번호를 출력한다.
- 당첨 통계를 출력한다.
- 로또 번호
- 구입 금액(최스 금액 1000원)
- 자동 번호 목록
- 지난 주 당첨 번호
- 총 수익률 계산 및 출력