Skip to content

joon36/java-lotto-mw

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

로또

경험해야할 학습 목표

  • TDD 기반으로 프로그래밍하는 경험을 한다.
  • 로또 구현을 통해 단위 테스트, 리팩토링, 객체 지향 프로그래밍하는 경험을 한다.
  • 클래스, 메소드 이름을 통해 의도를 드러내 다른 사람이 읽기 좋은 코드를 구현하는 경험을 한다.

진행 방법

  • 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 Push 한다.

기능 요구사항

  • 로또 구입 금액을 입력하면 구입 금액에 해당하는 로또를 발급해야 한다.
    • 로또 1장의 가격은 1000원이다.
  • 2등을 위해 보너스 번호를 하나 더 추첨한다.
  • 사용자가 수동으로 추첨 번호를 입력할수 있다.
    • 수동 게임 회수, 수동으로 구매할 번호를 입력할 수 있다.
    • 수동 게임 발급 후에는 나머지 돈으로는 자동 게임을 발급한다.
  • 당첨금은 다음과 같다.
    • 1등 - 2_000_000_000 원
    • 2등 - 30_000_000 원
    • 3등 - 1_500_000 원
    • 4등 - 50_000 원
    • 5등 - 5_000 원

실행 결과

  • 위 요구사항에 따라 14000원어치의 로또를 구매한 결과는 다음과 같다.
구입금액을 입력해 주세요.
14000

수동으로 구매할 로또 수를 입력해 주세요.
3

수동으로 구매할 번호를 입력해 주세요.
8, 21, 23, 41, 42, 43
3, 5, 11, 16, 32, 38
7, 11, 16, 35, 36, 44

수동으로 3장, 자동으로 11개를 구매했습니다.
[8, 21, 23, 41, 42, 43]
[3, 5, 11, 16, 32, 38]
[7, 11, 16, 35, 36, 44]
[1, 8, 11, 31, 41, 42]
[13, 14, 16, 38, 42, 45]
[7, 11, 30, 40, 42, 43]
[2, 13, 22, 32, 38, 45]
[23, 25, 33, 36, 39, 41]
[1, 3, 5, 14, 22, 45]
[5, 9, 38, 41, 43, 44]
[2, 8, 9, 18, 19, 21]
[13, 14, 18, 21, 23, 35]
[17, 21, 29, 37, 42, 45]
[3, 8, 27, 30, 35, 44]

지난 주 당첨 번호를 입력해 주세요.
1, 2, 3, 4, 5, 6
보너스 볼을 입력해 주세요.
7

당첨 통계
---------
3개 일치 (5000원)- 1개
4개 일치 (50000원)- 0개
5개 일치 (1500000원)- 0개
5개 일치, 보너스 볼 일치(30000000원) - 0개
6개 일치 (2000000000원)- 0개
총 수익률은 0.35입니다.(기준이 1이기 때문에 결과적으로 손해라는 의미임)

프로그래밍 요구사항

  • 모든 기능을 TDD로 구현한다.(모든 로직에 단위테스트를 구현한다.)
  • 들여쓰기를 1단계만 허용한다.
  • 메소드는 최대 15 라인까지만 허용한다.
  • else를 사용하지 않는다.
  • 자바 코드 컨벤션을 지킨다.
  • Enum을 사용한다.
  • 일급 콜렉션을 사용한다.
  • 모든 원시값, 문자열을 포장한다.

기능 목록 및 commit 로그 요구사항

  • 기능을 구현하기 전에 SPEC.md 파일에 구현할 기능 목록을 정리해 추가한다.
  • git의 commit 단위는 앞 단계에서 SPEC.md 파일에 정리한 기능 목록 단위로 추가한다.

AngularJS Commit Message Conventions 중...

  • commit message 종류를 다음과 같이 구분
feat (feature)
fix (bug fix)
docs (documentation)
style (formatting, missing semi colons, …)
refactor
test (when adding missing tests)
chore (maintain)

참고할 문서

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%