[๐ ์ฌ์ดํด1 - ๋ฏธ์ (๋ธ๋์ญ ๊ฒ์ ์คํ)] ๋๊ธธ ๋ฏธ์ ์ ์ถํฉ๋๋ค.#1013
[๐ ์ฌ์ดํด1 - ๋ฏธ์
(๋ธ๋์ญ ๊ฒ์ ์คํ)] ๋๊ธธ ๋ฏธ์
์ ์ถํฉ๋๋ค.#1013her0807 merged 61 commits intowoowacourse:minzzun99from
Conversation
- ๋๋ฌ ์นด๋ 16์ดํ ์ฌ๋ถ ํ์ธ ํ ์คํธ ๊ตฌํ - ์นด๋ ์ถ๊ฐ ํ์ธ ํ ์คํธ ๊ตฌํ
- ํ๋ ์ด์ด์ ์นด๋ ์ถ๊ฐ ์ฌ๋ถ ํ์ธ ํ ์คํธ - ํ๋ ์ด์ด์ ๋ฒ์คํธ ์ฌ๋ถ ํ์ธ ํ ์คํธ
- ๋ชจ๋ ํ๋ ์ด์ด๋ค์ ๋ฒ์คํธ ์ฌ๋ถ ํ์ธ ํ ์คํธ ์์ฑ
- ํ๋ ์ด์ด ์ด๋ฆ ๊ธธ์ด๊ฐ 20์๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ ์์ธ ๋ฐ์ ํ ์คํธ ์์ฑ - Null ํน์ ๋น ๊ฐ ์ ๋ ฅ ์ ์์ธ ๋ฐ์ ํ ์คํธ
her0807
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์ ๋๊ธธ!
๋ฆฌ๋ทฐ์ด ์๋ฌ์
๋๋ค. ใ
ใ
๋ฏธ์
์ํํ๋๋ผ ๊ณ ์ ๋ง์ผ์
จ์ด์.
์์ฑํด์ฃผ์ ๋ด์ฉ ํ ๋๋ก ์ ์๊ฒฌ ์ ์ด๋ณด์์ต๋๋ค.
์ฌ๋ฐ๊ฒ ์๊ธฐ ๋๋ ๋ด์ !
| public static TotalFinalResult checkGameResult(Players players, Dealer dealer){ | ||
| return TotalFinalResult.from(players.getPlayers().stream() | ||
| .map(player -> checkFinalResult(player, dealer)) | ||
| .toList()); | ||
| } |
There was a problem hiding this comment.
ํ๋ ์ด์ด ๋ฒ์คํธ โ ๋๋ฌ ๋ฒ์คํธ โ ์ ์ ๋น๊ต ์์๋ก 3๋จ๊ณ ํ์ ์ ํ๋ ๊ตฌ์กฐ๊ฐ ๋ธ๋์ญ ๊ท์น์ ์ ํ์ด๋ด์
จ๋ค์
๋ ๋ค ๋ฒ์คํธ๋ฉด ํ๋ ์ด์ด ํจ๋ฐฐ๋ผ๋ ๊น๋ค๋ก์ด ์ผ์ด์ค๋ ๋๊ธธ๋์ ์ ๊ตฌํ ํ์
จ์ด์ ๐ฏ
There was a problem hiding this comment.
ํ๋ ์ด์ด ๋ฒ์คํธ์ผ ๊ฒฝ์ฐ ๋๋ฌ๊ฐ ๋ฒ์คํธ ๋์ด๋ ๋๋ฌ ์น์ผ๋ก ํ์ ํ๋ ๋ก์ง์์ ์๊ฐ์ ๋ง์ด ์ผ๋ ๊ฒ ๊ฐ์๋ฐ
์ข๊ฒ ๋ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
| private static String checkDrawCount(int winCount, int drawCount, int loseCount) { | ||
| if (drawCount > 0) { | ||
| return String.format("๋๋ฌ: %d์น %d๋ฌด %dํจ%n", winCount, drawCount, loseCount); | ||
| } | ||
| return String.format("๋๋ฌ: %d์น %dํจ%n", winCount, loseCount); | ||
| } | ||
| } |
There was a problem hiding this comment.
๋๋ฌ: %d์น %d๋ฌด %dํจ ๊ฐ์ ์ถ๋ ฅ ํฌ๋งท์ DTO ์์์ ๋ง๋ค๊ณ ์๋๋ฐ์~ DTO ๊ฐ์ฒด๋ ๋ง ๊ทธ๋๋ก ๊ณ์ธต๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฐ์ฒด์์! ์ถ๋ ฅ ํฌ๋งทํ ์ View์ ์ฑ ์์ด๋๊น, DTO๋ ์์ ๋ฐ์ดํฐ(int win, int draw, int lose)๋ง ์ ๋ฌํ๊ณ ํฌ๋งทํ ์ OutputView์์ ์ฒ๋ฆฌํ๋ฉด ๊ณ์ธต ๊ฐ ์ฑ ์์ด ๊น๋ํด์ง ๊ฒ ๊ฐ์์. ๋๊ธธ๋ ์๊ฐ์ ์ด๋ ์ธ์?
There was a problem hiding this comment.
์ด ๋ถ๋ถ์ ์ฌ์ค ์ฒ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์๋ ๊ณ ๋ฏผ์ ๋ง์ด ํ์์ต๋๋ค!
DTO๊ฐ ์ถ๋ ฅ์ ๋ํ ํฌ๋ฉง์ ์๊ฒ๋๋ฉด DTO์ ์ญํ ๊ณผ ๋ฉ์ด์ง๋๊ฒ ์๋๊ฐ ์ถ์๋๋ฐ, ์๋ฌ๋ ๋๋ถ์ ์๊ฐ์ด ํ๊ณ ํด์ง ๊ฒ ๊ฐ์ต๋๋ค!
ํด๋น ๋ถ๋ถ์ OutputViewFormatter ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ , ํฌ๋ฉงํ
๋ก์ง์ ์ ๋ถ OutputViewFormatter์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์์ ํ์ต๋๋ค!
๋ํ ๊ธฐ์กด์ OutputView์์ ์ฒ๋ฆฌํ๋ ํฌ๋ฉงํ
๋ก์ง๋ ์ ๋ถ OutputViewFormatter๋ก ์ฎ๊ฒจ์ ์์ ํ์ต๋๋ค!
์ง๋ฌธ
๋ค๋ง ํ ๊ฐ์ง ๊ถ๊ธํ ์ ์ OutputViewFormatter๋ก ํฌ๋งทํ
๋ก์ง์ ์ ๋ถ ์ฎ๊ธฐ๋ฉด์ OutputView์๋ ๋จ์ํ ์ถ๋ ฅ ๋ก์ง๋ง ๋จ๊ฒ ๋์์ต๋๋ค.
ํน์๋ ์ด๋ฐ ๊ตฌ์กฐ๊ฐ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง์ง ์์์ง, ๋๋ฌด ๊ณผํ ๋ถ๋ฆฌ๋ ์๋์ง ์๋ฌธ์ด ์๊ฒผ์ต๋๋ค.
์๋ฌ๋๊ป์๋ ์ด๋ป๊ฒ ์๊ฐํ์๋์ง ์๊ฒฌ์ ๋ฃ๊ณ ์ถ์ต๋๋ค!
There was a problem hiding this comment.
์ข์ ๊ณ ๋ฏผ์ด์์! ๐ OutputView๊ฐ ๋จ์ํด์ง๋ ๊ฑด ์คํ๋ ค ์ข์ ์ ํธ์์. ๊ฐ ํด๋์ค๊ฐ ํ๋์ ์ฑ ์๋ง ๊ฐ๋๋ค๋ ๋ป์ด๊ฑฐ๋ ์! OutputView๋ ์ถ๋ ฅ๋ง, Formatter๋ ํฌ๋งทํ ๋ง ๋ด๋นํ๋ ๊ฑฐ์ฃ . ๋จ์ํ๋ค๊ณ ํด์ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ ๊ฒ ์๋๋ผ, ์คํ๋ ค ์ฝ๋ ์ฌ๋ ์ ์ฅ์์ OutputView๋ง ๋ณด๋ฉด ์ด๋ค ์์๋ก ์ถ๋ ฅํ๋์ง ํ๋ฆ์ด ํ๋์ ๋ณด์ด๊ฒ ๋ผ์. ํฌ๋งทํ ์ธ๋ถ์ฌํญ์ด ๊ถ๊ธํ๋ฉด ๊ทธ๋ Formatter๋ฅผ ๋ณด๋ฉด ๋๊ณ ์. ํด๋์ค๊ฐ ๋ณต์กํด์ ํ ํ์ผ์์ ์ด๊ฒ์ ๊ฒ ๋ค ํ๋ ๊ฒ๋ณด๋ค, ๋จ์ํ ํด๋์ค ์ฌ๋ฌ ๊ฐ๊ฐ ํ๋ ฅํ๋ ๊ตฌ์กฐ๊ฐ ์ ์ง๋ณด์ํ๊ธฐ ํจ์ฌ ํธํ๋ต๋๋ค ๐๐ป
| public class ScoreCaculatorTest { | ||
| @DisplayName("์ ์ ๊ณ์ฐ ํ ์คํธ") | ||
| @Test | ||
| void ์ ์_๊ณ์ฐ_ํ ์คํธ() { | ||
| List<Card> cards = List.of(Card.of(CardNumber.J, CardShape.CLOVER), Card.of(CardNumber.Q, CardShape.CLOVER)); | ||
| assertThat(ScoreCalculator.calculate(cards)).isEqualTo(20); | ||
| } | ||
| } |
There was a problem hiding this comment.
ScoreCaculatorTest์ ํ ์คํธ ์ผ์ด์ค๊ฐ 1๊ฐ๋ฟ์ด์์! ใ ใ ใ ์ฐธ๊ณ ๋ก ํ์ผ๋ช ์ l์ด ๋น ์ง ์คํ(Caculator -> Calculator )๋ ์์ด์
๐ ACE๋ฅผ 11๋ก ๊ณ์ฐํ๋ ๊ฒฝ์ฐ, ACE๋ฅผ 1๋ก ์ ์งํ๋ ๊ฒฝ์ฐ, ACE 2์ฅ, ํ์ด์ค์นด๋(J/Q/K), ๋ฒ์คํธ ๊ฒฝ๊ณ๊ฐ(21, 22) ๋ฑ ํต์ฌ ๋ถ๊ธฐ์ ๋ํ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๋ฉด ๋ก์ง์ ์์ ์ฑ์ ๋ ๋ณด์ฅํ ์ ์์ด์! ์ด๊ฑด ์ทจํฅ์ ํ ์๋ ์๋๋ฐ ํ ์คํธ๋ช ๋ ํ๊ธ๋ก ์์ฑํ๋ฉด DisplayName ์์ด๋ ์๋๊ฐ ๋ฐ๋ก ๋๋ฌ๋์ ์ข๋ต๋๋ค ๐๐ป
There was a problem hiding this comment.
์์ด์ฝ.. ํ์ผ๋ช
์คํ๋ ๋ถ๋๋ฝ์ต๋๋ค..
ํด๋น ๋ถ๋ถ์ ์์ ์๋ฃํ์ต๋๋ค!
๋ํ ๋ง์ํด์ฃผ์ ๋๋ก ํต์ฌ ๋ถ๊ธฐ์ ๋ํ ํ
์คํธ๋ ์ถ๊ฐํ์ต๋๋ค!
์์ผ๋ก ํ
์คํธ๋ฅผ ๋ ์์ธํ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค!
์ ์ ๊ฒฝ์ฐ์๋ ํ
์คํธ๋ช
์ ํ๊ธ๋ก ์์ฑํ๋๊ฒ ํธํ๊ธฐ๋ ํ๊ณ ์์ด ๋ฉ์๋ ์ด๋ฆ์ ์๊ฐํ๋ ์๊ฐ์ด ์ค์ด๋ค์ด์ ํ๊ธ๋ก ์์ฑํ๋ ํธ์
๋๋ค!
์ ๋ ๋ณดํต ํ
์คํธ ๋ฉ์๋ ๋ช
์ ํ๊ธ๋ก ์งง๊ฒ ์์ฑํ๊ณ @DisplayName์ ์ฌ์ฉํด์ ํ
์คํธ์ ๋ํด ์ข ๋ ์์ธํ ์ค๋ช
ํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์์ต๋๋ค!
์ง๋ฌธ
์๋ฌ๋์ด ๋ณด์๊ธฐ์๋ ํ
์คํธ ๋ฉ์๋ ์ด๋ฆ์ ํ๊ธ๋ก ๋ช
ํํ๊ฒ ์ง์๋ค๋ฉด @DisplayName๊น์ง ์ฌ์ฉํ๋ ๊ฒ์ด ๋ค์ ์ค๋ณต๋๊ฑฐ๋ ๋ถํ์ํ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐ๋์๋์ง ์๊ฒฌ์ด ๊ถ๊ธํฉ๋๋ค! ๐
There was a problem hiding this comment.
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด, ํ๊ธ ๋ฉ์๋๋ช ์ ์ด๋ค๋ฉด @DisplayName์ ํ์๋ ์๋์์! ๋ค๋ง ๋์ ์ญํ ์ด ์กฐ๊ธ ๋ฌ๋ผ์. ๋ฉ์๋๋ช ์ ์ฝ๋ ๋ ๋ฒจ์์ ํ ์คํธ๋ฅผ ์๋ณํ๋ ์ฉ๋๊ณ , @DisplayName์ ํ ์คํธ ์คํ ๊ฒฐ๊ณผ ๋ฆฌํฌํธ์์ ์ฌ๋์ด ์ฝ๊ธฐ ์ข์ ์ค๋ช ์ ๋ณด์ฌ์ฃผ๋ ์ฉ๋๊ฑฐ๋ ์. ์๋ฅผ ๋ค์ด ๋ฉ์๋๋ช ์ด ์์ด์ค_๋์ฅ์ผ๋_ํ๋๋ง_11๋ก_๊ณ์ฐ์ด๋ฉด ์ถฉ๋ถํ ์๋๊ฐ์ ๋ฌ๋๋๊น @DisplayName ์์ด๋ ๊ด์ฐฎ์์. ๋ค๋ง ๋ฉ์๋๋ช ์ด ๊ธธ์ด์ง๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์์ผ๋๊น, ๊ทธ๋ฐ ๊ฒฝ์ฐ์ ๋ฉ์๋๋ช ์ ๊ฐ๊ฒฐํ๊ฒ ํ๊ณ @DisplayName์ ์์ธ ์ค๋ช ์ ๋ฃ๋ ๋ฐฉ์๋ ๊ด์ฐฎ์์. ํ ์ปจ๋ฒค์ ์ ๋ฐ๋ผ ํต์ผํ๋ฉด ๋๋ ๋ถ๋ถ์ด์์ ๐
| import java.util.List; | ||
|
|
||
| public class BlackjackGame { | ||
| private static final int INITIAL_CARD_COUNT = 2; |
There was a problem hiding this comment.
๋ฉ์์ง์ ์์ํ์ ๋ํ ๊ณ ๋ฏผ
์ ๊ฐ ๋ฉ์ธ์ง๋ฅผ ์์๋ก ๋ณ๊ฒฝํ ๋ ๊ธฐ์ค์ ์ค๋ณต ํ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ด์์!
- ํ๋์ฝ๋ฉ ๋ฌธ์์ด -> 1๊ณณ์์๋ง ์ฐ์ด๊ณ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ ๋ฎ์ ๋
- ํด๋์ค ๋ด private static final -> ๊ฐ์ ํด๋์ค์์ ๋ฐ๋ณต ์ฌ์ฉ๋ ๋
- ๋ณ๋ ์์ ํด๋์ค/Enum -> ์ฌ๋ฌ ํด๋์ค์์ ๊ณต์ ๋ ๋
ํ ๊ณณ์์๋ง ์ฐ์ด๋ ๋ฉ์์ง๊น์ง ์์๋ก ์ถ์ถํ๋ฉด ์คํ๋ ค ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ์. ๊ทธ๋ฆฌ๊ณ ์๋ก ๋ฌด๊ดํ ์์๋ค์ด ํ๋์ Constants ํด๋์ค์ ๋ชจ์ด๋ฉด ์ปดํ์ผ ์๊ฐ ์ฆ๊ฐ, ์์ง๋ ฅ ์ ํ ๋ฑ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฑฐ๋ ์! ์ง๊ธ ๋จ๊ณ์์ ๋ณ๋ ์์ ํด๋์ค๊น์ง ๋ง๋๋ ๊ฑด ๊ณผ๋ํ ์ ์์ผ๋ ์ค์ฉ์ ์ผ๋ก ์ ๊ทผํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ๐
ํ์ด์ ์ด๋ฐ ๋ถ๋ถ๋ค์ ์๊ธฐํ๋ฉฐ ๊ฐ์ ๊ฒฝํ์ ํตํด ์ด๋จ ๋ ์์ํํ๋ฉด ์ข๊ฒ ๋ค! ์ด๋ฐ ๋๊ธธ๋ง์ ์๊ฐ๋ค์ ์ ๋ฆฌํ๋ ์๊ฐ์ด ํ์ดํ๋ก๊ทธ๋๋ฐ์ ์์ ์ฅ์ ์ด๋ผ๊ณ ์๊ฐํด์!! ํ์ฌ๊ฐ๋ฉด ์ด๋ ๊ฒ ๊ณ ๋ฏผํ ์๊ฐ์ด ์์ฒญ ์ ์ด์ง๊ฑฐ๋ ์ ใ ใ
There was a problem hiding this comment.
์์ ์ฒ๋ฆฌ์ ๋ํ ๋ถ๋ถ์ ํ๋ฆฌ์ฝ์ค๋ฅผ ์งํํ๋ฉด์๋ถํฐ ๊ณ์ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ์ด์์ต๋๋ค!
์ ์ญ์ '๋ค๋ฅธ ๊ณณ์์ ์ฌ์ฉ๋๋ ๋ฌธ์์ด์ด ์๋๋ฐ ๊ตณ์ด ๋ถ๋ฆฌ๋ฅผ ํด์ผ๋๋?' ์ถ์ ์๊ฐ์ ์ฌ๋ฌ๋ฒ ํ์๋๋ฐ ํ๋ฆฌ์ฝ์ค๋ฅผ ์งํํ๋ฉด์ ๋ฐ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ์์ ๋ฌธ์์ด์ ์์๋ก ์ฒ๋ฆฌํ๋๊ฒ ์ข์ง ์๊ฒ ๋๋ ๋ฆฌ๋ทฐ๋ฅผ ๊ทธ๋ฅ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
์์ํ์ ๋ํ ๋ถ๋ถ๋ ์์ํ๋ฅผ ํด์ผํ๋ ์ด์ ๋ ํ์ง ๋ง์์ผํ ์ด์ ๋ฅผ ๋ช ํํ ๋ต๋ณํ ์ ์๋๋ก ์ด์ฌํ ๊ณ ๋ฏผํ๊ณ ๋ฌผ์ด๋ณด๋ฉด์ ์ ๋ง์ ๊ธฐ์ค์ ์ก์๋ณด๊ฒ ์ต๋๋ค!
์๊ฒฌ ๋๋ฌด ๊ฐ์ฌ๋๋ฆฝ๋๋ค!๐
|
|
||
| ๋ธ๋์ญ ๋ฏธ์ ์ ์ฅ์ | ||
| ๊ท์น์ ์ ์ฉํ๋ฉด์ ๋ธ๋์ญ์ ๊ตฌํํ๋ค. | ||
|
|
There was a problem hiding this comment.
ํ์ด ํ๋ก๊ทธ๋๋ฐ ํจ์จ์ ๊ดํ์ฌ
ํ์ด์ ๊ฐ์น๋ ์ฝ๋ ์์ฑ ์๋๊ฐ ์๋๋ผ ์ง์ ๊ณต์ ์ ์ค์ ๋ฐฉ์ง์ ์์ด์!
๊ทธ๋ฐ๋ฉด์์ ์ถฉ๋ถํ ์ค๊ณ์ ๋ํด์ ๋
ผ์๋ฅผ ๋๋๊ณ , ์ฝ๋๋ฅผ ์์ฑํ์ ๋ถ๋ถ ์์ฃผ ์ํ์
จ์ด์.
๋ง์ผ ์ค๊ณ๋ฅผ ์ํ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌํ์ ํ๋ค๋ฉด ๊ตฌํ์ ๋ฒ๋ณตํ๊ฑฐ๋ ์์ ํด์ผํ๋ ์ผ์ด ๋ ๋ง์์๊ฑฐ๋ผ๊ณ ์๊ฐํด์.
์๋ก ๋ง์กฑ์ค๋ฝ์ง ๋ชปํ ์ฝ๋๊ฐ ๋์ค๋ฉด ์๋ก 2๋จ๊ณ์์ ์ฝ๋๋ฅผ ์์ ๋ค์ง๊ธฐ๋ ํ๊ณ ์ ..^^
๊ทธ๋ผ์๋ ์๋๋ฅผ ๋ด๊ณ ์ถ๋ค๋ฉด.. ์๊ฐ์ ์ ํด๋ณด๋๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์์. ์ต๋ 5์๊ฐ์์ ๊ตฌํ์ ๋๋ด๋ณด์. ์ด๋ฐ์์ผ๋ก์!
๊ทธ๋ฆฌ๊ณ ํ์ด๋จธ๋ฅผ ์ผ๊ณ ์๊ฐ์ ์ ํํ๊ฒ ์งํค๋ ๊ฒ๋ ์ค์ํ์ง๋ง ์๋๋ฐฉ ์๊ฒฌ์ด ๊ฐ๋ ฅํ๋ฉด ๋๋ผ์ด๋ธ๋ฅผ ๋งก๊ฒจ๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด์์. ์ํด๋ณธ ์๊ฐ๊ณผ ๊ตฌํ์ ์์์ ๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒฝํ์ด ๋๋๊น์. ใ
ใ
ใ
+++ ๋ง์ผ ์๋๋ฐฉ์ ์ค๋ํ๋ ค๊ณ ํ๋๋ฐ ๊ทธ๊ฒ ์ ์๋์๋ค๋ฉด ๋๊ธธ์ด ์๊ฒฌ์ ์ฃผ๊ณ ๋ฐ์ ๋ ๋จผ์ ์๋๋ฐฉ ์๊ฒฌ์ ๋ํด ๊ธ์ ์ ์ผ๋ก ๋ํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด ๋ ์ ์์ด์. ์๋ก ๋ผํฌ๊ฐ ์๊ธฐ์ง ์์ ์ํฉ์์ ๋ฐ๋ฐ์ ์ง์์ ์ผ๋ก ํ๊ฒ๋๋ฉด ์๋๋ฐฉ์ ๊ณต๊ฒฉ์ ๋ฐ๋๋ค๊ณ ๋๊ปด์ ๋์ผํ๊ฒ ๋ฐ๋ฐ์ ํ๊ฒ๋๋ ๊ฒฝํฅ์ด ์์ด์. ๊ทธ๋์ ์๋๋ฐฉ์๊ฒ ์ถฉ๋ถํ ๊ณต๊ฐ๊ณผ ์นญ์ฐฌ์ ํ๋ฉด์.., ๋ด ์๊ฒฌ์๋ ์์ฉ์ ์ผ๋ก ๋ํ ์ ์๊ฒ๋ ์ ๋ํด๋ณด๋๊ฒ๋ ๋ฐฉ๋ฒ์ผ์ง๋..!!!
๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก ํ์ด๊ฐ ๋๋๊ณ ์ผ์ผํ๊ณ ๋ฅผ ํด๋ณด์๋๊ฑธ ์ถ์ฒ๋๋ ค์.
- ์ค๋ ์ข์๋ ์ ( ์นญ์ฐฌ ํ๊ฐ)
- ๋์๊ฒ ์์ฌ์ด์ ( ๋ณธ์ธ ์ค์ค๋ก ๋ณธ์ธ์ด ์์ฌ์ด์ ํ๊ฐ ๋งํ๊ธฐ)
- ์ฐ๋ฆฌ์ ํ์ด ๊ณผ์ ์์ ๊ฐ์ ํ๋ฉด ์ข์ ์ (์ด ๋ ์๋๋ฐฉ ๋งํฌ๊ฐ ๊ฐํ๋ค๊ฑฐ๋ ์ค์์นญ ์๊ฐ์ ์ ์์ง์ผฐ๋ค๊ฑฐ๋..์๋ฐ๊ฑธ ๋งํ๋๊ฑฐ์ฃ !)
์ด ์๊ธฐ๋ฅผ ๋๋๋ฉด์, ๋ณธ์ธ์ ํ๋์ ๋ํด์๋ ์ค์ค๋ก ๋์๋ณด๊ณ ์ฌ์ํ์ง๋ง ํ์ด๊ฐ ์์ฒ๋ฐ์์ ์๋ ์๋ ๋ถ๋ถ์ ๋ํด์ ๋จผ์ ์ธ๊ธํด์ ์ฌ๊ณผํ๊ณ , ๋ ๋ด๊ฐ ๋ง์์ ๋ด์๋๋งํ ๋ด์ฉ์ ๊บผ๋ด๋ฉด์ ์๋ก ๋ผํฌ๋ฅผ ์์ ์ ์์ด์
๊ฐ์ถ..
There was a problem hiding this comment.
์ด๋ฒ ํ์ด๋ ์ ์ ์ง๋ฌธ์ด๋ ์๊ฒฌ์ ์ ๋ค์ด์ฃผ๊ณ ์ ๋ฐ์ํด์ค์ ๋๋ฌด ํธํ๊ฒ ์งํํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์์ผ๋ก ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ์งํํ๋ฉด์ ์๊ฒฌ์ด ๋๋ฆฝ๋๋ ๊ฒฝ์ฐ๋ ์๊ฒ ๋ ํ ๋ฐ ๋ง์ํด์ฃผ์ ๋๋ก ์๋๋ฐฉ์ ์๊ฒฌ์ ๊ธ์ ์ ์ผ๋ก ์๊ฐํ๋ฉด์ F์ ๋ง์๊ฐ์ง์ผ๋ก ์๊ทผ์ฌ์ฉ ์๊ฒฌ์ ์ ์ํด๋ณด๋ ๋ฐฉํฅ์ผ๋ก ์งํํด๋ณด๊ฒ ์ต๋๋ค!
ํ์ด์ ํ๊ณ ๋ ๊พธ์คํ ์งํํ๋ฉด์ ๋ถ์กฑํ ์ ์ ์ฑ์๊ฐ ์ ์๋ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ฒ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค!
| ) { | ||
| public static PlayerDto from(Player player) { | ||
| return new PlayerDto(player.getName().getName(), ResultDto.from(player)); | ||
| } |
There was a problem hiding this comment.
์ธ์คํด์ค ๋ณ์ 3๊ฐ ์ดํ ์ ์ฝ๊ณผ DTO ๋ณต์ก์ฑ
๋๊ธธ๋ ์ง๋ฌธ์ ๋ ๊ฐ์ง๋ก ์ชผ๊ฐ์ด ๋ต๋ณํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์๋ฐ์! ๐
1. ์ ์ฝ์ ๋ฐ๋๋๋ ํด๋์ค๊ฐ ๋๋ฌด ๋ง์์ ธ์ ์คํ๋ ค ๋ณต์กํด์ง ๊ฒ ๊ฐ์์
์ด ์ ์ฝ์ ๋ชฉ์ ์ ํ๋์ ๊ฐ์ฒด๊ฐ ๋๋ฌด ๋ง์ ์ํ๋ฅผ ๊ฐ์ง์ง ์๊ฒ ํ๋ ๊ฑฐ์์! ๊ทธ๋ฐ๋ฐ ์ ์ฝ์ ์งํค๊ธฐ ์ํด ์ต์ง๋ก ํด๋์ค๋ฅผ ์ชผ๊ฐ๋ฉด ์คํ๋ ค ์ ์ฒด ๊ตฌ์กฐ ํ์ ์ด ์ด๋ ค์์ง ์ ์๊ฑฐ๋ ์. ํด๋์ค๋ฅผ ๋ถ๋ฆฌํ๋ ๊ธฐ์ค์ ๋ณ์ ๊ฐ์๊ฐ ์๋๋ผ **์ด ๊ฐ์ฒด๊ฐ ๋ ๋ฆฝ์ ์ธ ์ฑ ์์ ๊ฐ์ง๊ณ ์๋๊ฐ?**์์! ์๋ฅผ ๋ค์ด Hand๊ฐ ์นด๋ ๋ชฉ๋ก์ ๊ด๋ฆฌํ๋ ๊ฑด ๋ ๋ฆฝ์ ์ธ ์ฑ ์์ด๋๊น ๋ถ๋ฆฌ๊ฐ ์์ฐ์ค๋ฝ์ง๋ง, ๋จ์ํ ๋ณ์ ๊ฐ์๋ฅผ ๋ง์ถ๊ธฐ ์ํด ์๋ฏธ ์์ด ์ชผ๊ฐ๋ ๊ฑด ์คํ๋ ค ๋ณต์ก๋๋ฅผ ๋์ด๋ ๊ฒฐ๊ณผ๊ฐ ๋์ด์. ๋๊ธธ๋ ์ฝ๋๋ Hand, Score, Deck ๋ฑ ๊ฐ ๊ฐ์ฒด๊ฐ ๋ช ํํ ์ฑ ์์ ๊ฐ์ง๊ณ ์์ด์ ์ ๋ถ๋ฆฌ๋์ด ์๋ค๊ณ ์๊ฐํด์ ๐๐ป
2.DTO์๋ ์ด ์ ์ฝ์ ์ ์ฉํด์ผ ํ๋์?
DTO๋ ๋ฐ์ดํฐ ์ ๋ฌ ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด ์ ์ฝ์ ๋์์ด ์๋์์! PlayerDto ์์ ResultDto๋ฅผ ๋ฃ์ ๊ตฌ์กฐ๊ฐ ์ ์ฝ์ ์งํค๋ ค๋ค ๋ณด๋ ์๊ธด ๊ฒ ๊ฐ์๋ฐ์~ ๋ง์ฝ name, cards, score๋ฅผ ํผ์ณ์ ๋ด๋ ๊ฒ ๋ ์์ฐ์ค๋ฝ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํด๋ ๊ด์ฐฎ์์. DTO๋ฅผ ์ต์ง๋ก ์ชผ๊ฐ๋ฉด View ์ฝ๋์์ playerDto.resultDto().cards() ์ด๋ฐ ์์ผ๋ก ๊บผ๋ด์ผ ํด์ ์คํ๋ ค ๋ถํธํด์ง๊ฑฐ๋ ์!
๋ฌผ๋ก ํ์ฌ ๊ตฌ์กฐ์ฒ๋ผ ResultDto๋ก ๋ฌถ๋ ๊ฒ๋ ์นด๋ ์ ๋ณด์ ์ ์๋ฅผ ํ๋์ ๊ฒฐ๊ณผ ๋จ์๋ก ๋ณด๋ฉด ์ถฉ๋ถํ ์๋ฏธ ์๋ ์ค๊ณ์์. ํต์ฌ์ ์ ์ฝ์ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ฅด๋ ๊ฒ์ด ์๋๋ผ, ์ ์ฝ์ ์ทจ์ง๋ฅผ ์ดํดํ๊ณ ์ํฉ์ ๋ง๊ฒ ์ ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์ ๐
There was a problem hiding this comment.
์ ์ฝ์ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ฅด๋ ๊ฒ์ด ์๋, ์ ์ฝ์ ์ทจ์ง๋ฅผ ์ดํดํ๊ณ ์ ์ฉํ๋ ๊ฒ์ด๋ผ๋ ๋ง์ ๋๋ถ์ ๊ทธ๋ฅ ์ด๋ ๊ฒ ํ๋ผ๋๊น ํด์ผ์ง๋ณด๋ค๋ ์ ์๊ตฌ์ฌํญ์ ์ด๋ฐ๊ฑธ ์คฌ๋์ง ์ดํดํ๋ ค ๋
ธ๋ ฅํ๊ณ ์ํฉ์ ๋ง๊ฒ ์ ์ฉํ๋ ์ต๊ด์ด ์ค์ํ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ผ๊ฐ๋ ์ฝ๋๊ฐ ์๋ ์ด์ ์ ๊ธฐ์ค์ ๊ฐ์ง ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก ์๊ฐํ๋ ์ต๊ด์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ ์ฑ์ค๋ฌ์ด ์ฝ๋๋ฆฌ๋ทฐ ๋๋ฌด ๊ฐ์ฌ๋๋ฆฌ๊ณ ์๋ฌ๋์ ๋ฆฌ๋ทฐ๋ก ๋ง์ ๋ถ๋ถ ๊นจ๋ซ๊ฒ ๋ ๊ฒ ๊ฐ์ต๋๋ค!
๋๋ฌด ๊ฐ์ฌ๋๋ฆฝ๋๋ค!๐
- Card ํด๋์ค ํ๋ final๋ก ๋ณ๊ฒฝ
- ACE ์นด๋ 11 ๊ณ์ฐ ๋ก์ง ํ์ธ ํ ์คํธ - ACE ์นด๋๋ง ๋ ์ฅ์ผ ๊ฒฝ์ฐ 12 ๋ฐํ ํ์ธ ํ ์คํธ - ACE ์นด๋ ์ธ ์ฅ์ผ ๊ฒฝ์ฐ ์ด ํฉ ๊ณ์ฐ ํ ์คํธ - ์นด๋๊ฐ ์์ ๊ฒฝ์ฐ 0 ๋ฐํ ํ์ธ ํ ์คํธ - ์นด๋์ ํฉ 21 ์ด๊ณผ ๋ฐํ ํ์ธ ํ ์คํธ
her0807
left a comment
There was a problem hiding this comment.
์๋ ํ์ธ์ ๋๊ธธ
๋ฆ์์๊ฐ๊น์ง ๊ณ ์ ๋ง์ผ์
จ์ด์.
์๊ตฌ์ฌํญ ๋ชจ๋ ์ถฉ์กฑ๋ ๊ฒ ๊ฐ์ ์ด๋ง ๋จธ์งํ ๊ฒ์!
๋ค์๋ฏธ์
์์ ๋ง๋์ :)
์ฒดํฌ ๋ฆฌ์คํธ
test๋ฅผ ์คํํ์ ๋, ๋ชจ๋ ํ ์คํธ๊ฐ ์ ์์ ์ผ๋ก ํต๊ณผํ๋์?์ด๋ค ๋ถ๋ถ์ ์ง์คํ์ฌ ๋ฆฌ๋ทฐํด์ผ ํ ๊น์?
1. ์ธ์คํด์ค ๋ณ์ ๊ฐ์ ์ ์ฝ์ ๋ํ ๊ณ ๋ฏผ
์ด๋ฒ ๋ฏธ์ ์์ ์ธ์คํด์ค ๋ณ์ 3๊ฐ ์ด์ ์ฌ์ฉ ๊ธ์ง๋ผ๋ ๊ท์น์ ์งํค๊ธฐ ์ํด ํด๋์ค๋ฅผ ์ต๋ํ ์ธ๋ถํํด ๋ณด์์ต๋๋ค. ๊ฐ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๋ ์ํ๋ ์ค์ด๋ค์์ง๋ง, ํํธ์ผ๋ก๋ ์คํ๋ ค ๊ฐ์ฒด๊ฐ ๋๋ฌด ๋ง์์ ธ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๊ฐ ๋ ๋ณต์กํด์ง ๊ฒ์ด ์๋๊ฐํ๋ ์๊ตฌ์ฌ์ด ๋ค์์ต๋๋ค. ํด๋น ๊ณ ๋ฏผ์ ๋ํ ์๊ฒฌ์ด ๊ถ๊ธํฉ๋๋ค!
๋ํ, ์ถ๋ ฅ ๋ก์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ DTO๋ฅผ ๊ตฌํํ ๋๋ ์์ ๊ฐ์ ๊ท์น์ ์ ์ฉํ๋ ค๋ค ๋ณด๋
PlayerDto๋ด๋ถ์ResultDto๋ฅผ ํ๋๋ก ๊ฐ์ง๊ฒ ๋ ๊ฒ์ฒ๋ผ DTO๊ฐ DTO ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ ๊ตฌ์กฐ๊ฐ ๋์์ต๋๋ค. ๋ฐ์ดํฐ ์ ๋ฌ์ด ๋ชฉ์ ์ธ DTO๋ผ๋ฉด ์ธ์คํด์ค ๋ณ์ ๊ฐ์ ์ ์ฝ์์ ์กฐ๊ธ ๋ ์์ ๋ก์๋ ๋์ง ์์๊น ํ๋ ์๊ฐ์ด ๋ค์๋๋ฐ ํด๋น ๋ถ๋ถ์ ๋ํด์ ๋ฆฌ๋ทฐ์ด๋๊ป์๋ ์ด๋ค ๊ธฐ์ค์ ๊ฐ์ง๊ณ ๊ณ์ ์ง ์๊ฒฌ์ ์ด๋ ์ ์ง ๊ถ๊ธํฉ๋๋ค!2. TDD์ ์ค๊ณ ์ฌ์ด์ ์ฐ์ ์์
์ด๋ฒ์ TDD๋ฅผ ์ฒ์ ์๋ํด ๋ณด๋ฉด์ ํ ์คํธ๋ฅผ ๋จผ์ ์์ฑํ๊ธฐ ์ํด์๋ ์ด๋ฏธ ์ด๋ ์ ๋ ์๋ฒฝํ ์ค๊ณ๊ฐ ๋จธ๋ฆฟ์์ ์์ด์ผ ํ๋ ๊ฒ ์๋๊น ์ถ์์ต๋๋ค. ๋ํ, ์ค๊ณ๋ฅผ ๊ณ ๋ฏผํ๋ค ๋ณด๋ ๊ฒฐ๊ตญ ๊ตฌํ์ ๋จผ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ๋ง์์ต๋๋ค. ๋ฆฌ๋ทฐ์ด๋๊ป์๋ ์๊ฐํ์๋ TDD์ ๋ํ ์๊ฒฌ๊ณผ TDD์ ๋ํ ํ์ด ์๋ค๋ฉด ๋ฃ๊ณ ์ถ์ต๋๋ค!
3. ๋ฉ์์ง์ ์์ํ์ ๋ํ ๊ณ ๋ฏผ
์ด์ ์ ํ๋ฆฌ์ฝ์ค๋ฅผ ์งํํ๋ฉด์ ๋ฐ๋ก ์์์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ์ข๋ค๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ํ ์์ธ ๋ฉ์์ง๋ ์ถ๋ ฅ ๋ฌธ๊ตฌ๋ฅผ ๋ชจ๋ ์์ ํด๋์ค๋ก ๊ด๋ฆฌํ์์ต๋๋ค. ์ด๋ฒ ํ์ดํ๋ก๊ทธ๋๋ฐ์ ์งํํ๋ฉด์ ์ถ๋ ฅ๋ฌธ์ด๋ ์์ธ ๋ฉ์์ง๋ ์์์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์คํ๋ ค ๊ทธ๋๋ก ๋๋ ํธ์ด ๊ฐ๋ ์ฑ์ด ๋ ์ข์ ๊ฒ ๊ฐ๋ค๋ ํ์ด์ ์๊ฒฌ์ ๋ฐ์ํ์ฌ ๋ฉ์์ง๋ฅผ ํ๋์ฝ๋ฉ๋ ๋ฌธ์์ด ๊ทธ๋๋ก ๋์์ต๋๋ค. ํด๋น ๊ณ ๋ฏผ์ ๋ํ ์๊ฒฌ์ด ๋ฃ๊ณ ์ถ์ต๋๋ค!
4. ํ์ด ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ตฌํ ์๋์ ๋ํ ๊ณ ๋ฏผ
์ฒซ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ๊ฒฝํํด๋ณด๋ฉด์ ์๊ฒฌ์ ์กฐ์จํ๊ณ ์ง๋ฌธํ๋ ๊ณผ์ ์์ ์๊ฐ๋ณด๋ค ๋ง์ ์๊ฐ์ด ์์๋์์ต๋๋ค. ๋ค๋น๊ฒ์ดํฐ์ ์ญํ ์์ ํ์ด์ ์๊ฒฌ์ด ๊ถ๊ธํ๊ธฐ๋ ํ๊ณ ๋ฐฉ์์ด ๋ฌ๋๋ ๋ถ๋ถ์ด ๊ฝค ์๋ค๋ณด๋ ๋๋ฌด ๋ง์ ์ง๋ฌธ์ ํ๋ ๊ฒ ๊ฐ๊ธฐ๋ ํฉ๋๋ค. ํ์ด๋ ๊ด์ฐฎ๋ค๊ณ ํ์ง๋ง ๋๋ฌด ๋ง์ ์ง๋ฌธ๊ณผ ๋ ผ์๊ฐ ๊ตฌํ ์๋๊ฐ ๋ฆ์ด์ง๋ ์์ธ์ด ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฆฌ๋ทฐ์ด๋๋ง์ ํ์ด ํ๋ก๊ทธ๋๋ฐ ๋ ธํ์ฐ๋ ๋ค๋น๊ฒ์ดํฐ์ ์ ์ ํ ์ง๋ฌธ๊ณผ ๋ ผ์์ ๋ํ ๊ธฐ์ค์ด ์์ผ์ ์ง ๊ถ๊ธํฉ๋๋ค!