[개발 기록] lotto
로또
진행 방법
- 로또 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
온라인 코드 리뷰 과정
문자열 사칙 연산 계산기
기능 요구사항
[x] 사용자가 문자열을 입력합니다. [x] 입력 문자열의 숫자와 사칙연산 사이에는 반드시 빈 공백 문자열이 있습니다. [x] 나눗셈의 경우 결과 값을 정수입니다. [x] 연산자 우선순위는 무시합니다.
기술 요구사항
[x] depth 1 단계
[x] if() { while(){}; }
<- 불가
[x] 메소드는 최대 10라인
[x] 예상외의 값 입력시 예외처리
[x] 사칙연산 기호가 아닐경우 예외처리
[x] 반복적인 패턴을 찾아 반복문으로 구현
산출 클래스
- controller Main.java CalculatorController.java
- domain (테스트 필수) [x] AddExpression.java [x] Calculator.java [] CalculatorExpression.java (인터페이스) [x] Expression.java (ENUM 테스트) [x] DivideExpression.java [x] MinusExpression.java [x] MultiplicationExpression.java [x] VariableExpression.java
- view InputView.java ResultView.java 끝.
로또
기술 요구사항
[] else 금물, switch 금물 [] depth 1 단계 [] 메소드는 최대 15라인 [] 예상외의 값 입력시 예외처리 [] 도메인은 무조건 테스트
기능 요구사항
[] 로또 구입 금액을 입력 [] 구입 금액에 해당하는 로또 발급 [] 로또 1장의 가격은 1000원 [] 지난주 당첨 번호 입력 [] 통계 (3개 일치 - 5000) [] 통계 (4개 일치 - 50000) [] 통계 (5개 일치 - 1500000) [] 통계 (6개 일치 - 2000000000) [] 수익율 계산
산출 클래스 예상
- controller Main.java LottoController.java
- domain (유동적, 테스트 필수)
Lotto.java (List
로또 한장) LottoNumber.java (Integer로 로또 번호 하나) LottoWallet.java (List 로또 여러장) WinningLotto.java (Lotto 지난주 로또 한장) MoneyWallet.java (사용자가 입력한 값) StatisticsReport.java (로또 통계레포트) 🤔 PAndLReport.java (로또 손익레포트) - util LottoGenerator.java
- view InputView.java ResultView.java
산출 클래스 진행중
Main.java LottoController.java
- domain
[ ]Prize.java ( 로또 상금과 랭킹을 매칭 )
[ ]Lotto.java ( 로또 한장 )
[ ]LottoNumber.java ( 로또에 들어가는 숫자 )
[ ]LottoNumberFactory.java ( 로또에 들어가는 숫자를 만들어줌)
[ ]LottoShop.java ( 사용자의 돈을 받아 로또를 만듦 )
[ ]LottoWallet.java ( 로또 여러장을 관리 )
[ ]MoneyWallet.java ( 사용자의 돈을 관리 )
[ ]StatisticsReport.java ( 로또의 통계 )
[ ]WinningLotto.java ( 지난주 당첨 로또 )
- rank [ ]BonusRank.java [ ]FirstRank.java [ ]FourthRank.java [ ]NormalRank.java [ ]NotRank.java [ ]Rank.java [ ]SecondRank.java [ ]ThirdRank.java InputView.java ResultView.java
댓글남기기