-
Notifications
You must be signed in to change notification settings - Fork 75
[손민철] 연료주입, 블랙잭 - 1단계 #45
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
base: minchul-son
Are you sure you want to change the base?
Conversation
기능 요구사항
- 각 보유 차량 (5대) 렌트할 때 대략적인 이동거리를 입력
- 자동차 객체 생성 시 생성자에 이동거리 주입
- 연료량 계산
- 연료 주입에 필요한 연료량 보고서 생성
프로그래밍 요구사항
- 상속 / 추상 메서드 활용
- 조건문 X
Co-authored-by: judy5050 <qkrgywjd456@naver.com>
Co-authored-by: minchul-son <smc5236@gmail.com>
Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- 주입 연료량 출력 보고서 정상 동작 여부 확인 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- 필요 기능 정의 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- Sonata - K5 - Avante Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- 자동차 추가 (addCar) - 주입 연료량 보고서 출력 (generateReport) Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
…utable Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- List<Card> 최종 점수 반환 메서드 작성 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 각 카드 별 점수관련 클래스 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 모든 카드(52개)를 생성시점에 초기화 - 덱에서 한장을 카드를 뽑음 - 덱이 비면 예외 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 카드끼리의 비교를 위해 구현 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 카드를 더 뽑을 수 있는지를 boolean으로 반환하는 canDrawCard() Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 가지고있는 cards 객체에서 위임 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- 21보다 작다면 한장 더 뽑을 수 있음 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- Dealer - Deck - Players Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- Player Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- Card - Cards - Dealer - Deck - Person - Player - Score Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- Players Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- InputView - ResultView Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- 파산 여부 - 블랙잭 점수 (21점) 여부 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- activePlayer - scoreInfo - matchScore Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- 딜러 / 플레이어 점수 비교 Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>"
- CardNumberTest - DealerTest - DeckTest - PlayersTest - PlayerTest - ScoreBoardTest - ScoreTest Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- Card - CardNumber - Cards - Dealer - Deck - Person - Player - Players - Score - ScoreBoard Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- CardInfo - MatchInfo - NameInfo - ScoreInfo Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
- InputView - ResultView Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
Co-authored-by: judy5050 <qkrgywjd456@naver.com> Co-authored-by: minchul-son <smc5236@gmail.com> Co-authored-by: kworkbee <g1.tommy.jeon@gmail.com>
vsh123
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
민철님 안녕하세요!
우선 리뷰가 늦어져서 죄송합니다ㅠㅠ
몇가지 코멘트를 남겼으니 확인부탁드리겠습니다!
| dealer = new Dealer(); | ||
| dealer.initializeDeck(deck); | ||
|
|
||
| scoreMap = new LinkedHashMap<>() {{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요기 컴파일 에러가 나는 것 같은데, 한번만 확인부탁드려도 될까요~?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| @Override | ||
| public String getName() { | ||
| return this.getClass().getSimpleName(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
클래스명을 리턴하기보다는 별도 상수를 만들어서, 해당 상수값을 리턴하는게 어떨까 싶은데요! 이에 대해서 어떻게 생각하시나요~?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 메서드도 default method로 올려버리고 PassengerCar를 상속받는 곳에서 사용할 수 있도록 하는 것은 어떤가요??
이후에 K7이 추가된다면 K7이라는 클래스만 만들면 재사용할 수 있게끔이요!!
| return cardNumber.isAce(); | ||
| } | ||
|
|
||
| public String getCardName() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 역할은 View의 역할인 것 같은데요! View에서 CARD_NAME_FORMAT에 맞게 만들어주면 어떨까요?
| .orElseThrow(() -> new RuntimeException("존재하지 않는 키입니다.")); | ||
| } | ||
|
|
||
| public static Score judge(final Cards playerCards, final Cards dealerCards) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 메서드가 10라인을 넘어가는 것 같아요!
아래의 요구사항을 지켜보면 어떨까요?
함수(또는 메서드)의 길이가 10라인을 넘어가지 않도록 구현한다.
함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아래 사진을 보게 되면 왼쪽은 ScoreTest에서 테스트가 수행된 커버리지를 보여주는데요! 참고
if문이 많은데 테이스 케이스가 부족해보여요! 다양한 테스트를 추가해보면 어떨까요~?


안녕하세요!
연료주입 및 블랙잭 1단계를 완료하여 제출합니다!!
최대한 엔티티를 작게 유지하려는 요구사항을 만족하기 위해 잘게 쪼개려 노력했는데 적절한지 잘 모르겠네요!
블랙잭이 생각보다 많이 어렵네요.. 😂
플레이어와 딜러를
Person이라는 추상 클래스로 표현해 공통 기능을 묶어내는 식으로 구현을 진행해봤어요!그럼 이번 미션 잘 부탁드립니다!!