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.
민철님 안녕하세요!
우선 리뷰가 늦어져서 죄송합니다ㅠㅠ
몇가지 코멘트를 남겼으니 확인부탁드리겠습니다!
| dealer = new Dealer(); | ||
| dealer.initializeDeck(deck); | ||
|
|
||
| scoreMap = new LinkedHashMap<>() {{ |
|
|
||
| @Override | ||
| public String getName() { | ||
| return this.getClass().getSimpleName(); |
There was a problem hiding this comment.
클래스명을 리턴하기보다는 별도 상수를 만들어서, 해당 상수값을 리턴하는게 어떨까 싶은데요! 이에 대해서 어떻게 생각하시나요~?
There was a problem hiding this comment.
이 메서드도 default method로 올려버리고 PassengerCar를 상속받는 곳에서 사용할 수 있도록 하는 것은 어떤가요??
이후에 K7이 추가된다면 K7이라는 클래스만 만들면 재사용할 수 있게끔이요!!
| return cardNumber.isAce(); | ||
| } | ||
|
|
||
| public String getCardName() { |
There was a problem hiding this comment.
해당 역할은 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.
해당 메서드가 10라인을 넘어가는 것 같아요!
아래의 요구사항을 지켜보면 어떨까요?
함수(또는 메서드)의 길이가 10라인을 넘어가지 않도록 구현한다.
함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
There was a problem hiding this comment.
아래 사진을 보게 되면 왼쪽은 ScoreTest에서 테스트가 수행된 커버리지를 보여주는데요! 참고
if문이 많은데 테이스 케이스가 부족해보여요! 다양한 테스트를 추가해보면 어떨까요~?


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