[๐ ์ฌ์ดํด2 - ๋ฏธ์ (๋ธ๋์ญ ๋ฒ ํ )] ์๋ฒ ๋ฏธ์ ์ ์ถํฉ๋๋ค.#1102
[๐ ์ฌ์ดํด2 - ๋ฏธ์
(๋ธ๋์ญ ๋ฒ ํ
)] ์๋ฒ ๋ฏธ์
์ ์ถํฉ๋๋ค.#1102Chocoding1 wants to merge 82 commits intowoowacourse:chocoding1from
Conversation
๋ฆฌํฉํฐ๋ง์ ํ๋ ๊ธฐ๋ฒ์ด ์์๊ฒ ๊ฐ์๋ฐ ๋ฆฌํฉํฐ๋งํ์ค๋ ๊ฐ์ฅ ํ๋ค์๋ ๋ถ๋ถ์ด ๋ฌด์์ด์๋์? ํ๋ค์๋ ๋ถ๋ถ์ด ์๊ฒผ๋ ์ด์ ๋ ๋ฌด์์ด์์๊น์? ์ ๋ ๋ณดํต ๋ฆฌํฉํฐ๋ง ํ๋ค๋ฉด ๊ณต๊ฐ API ์ ๋ํ ํ ์คํธ๋ฅผ ์ถฉ๋ถํ ๋ง๋ค์ด๋๊ณ ๋ด๋ถ ๊ตฌํ์ฒด๋ฅผ ๊ฐ์๋ผ์ฐ๋ ์์ผ๋ก ์์ ์ ๋ง์ด ํ๋๊ฒ ๊ฐ์์ ๋ฆฌํฉํฐ๋ง์ ๋ํ ์ด์ผ๊ธฐ๋ ์์ ๋ถํฐ ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์ด์ผ๊ธฐํด์๋ ํฐ๋ผ ๋งํด ํ์ธ๋ฌ ์์ ์จ์ ์ฝ์ด๋ณผ๋งํ ๊ธ ๋จ๊ฒจ๋๋ฆด๊ฒ์~ |
pci2676
left a comment
There was a problem hiding this comment.
๋น ๋ฅด๊ฒ ๋ฐ์ํด์ฃผ์ จ๋ค์!
์กฐ๊ธ ๋ ๊ฐ์ ํด๋ณด๋ฉด ์ข์ ๋ถ๋ถ์ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ฒจ๋์์ผ๋ ํ์ธํด์ฃผ์ธ์
| [์์ธ์ฒ๋ฆฌ] ์ผํ ์ธ์ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ๊ตฌ๋ถ์๋ก ํ ๊ฒฝ์ฐ IllegalArgumentException ์์ธ๋ฅผ ๋ฐ์์ํจ๋ค. | ||
|
|
||
| [์์ธ์ฒ๋ฆฌ] ์ ๋ ฅ๊ฐ์ด ๊ณต๋ฐฑ์ผ ๊ฒฝ์ฐ IllegalArgumentException ์์ธ๋ฅผ ๋ฐ์์ํจ๋ค. | ||
|
|
There was a problem hiding this comment.
๋ต๋ณ์ ์ด๋์ ๋จ๊ธธ๊น ํ๋ค๊ฐ readme ์์ฑํ์ ๊ณณ์ด ์ ์ ํ ๊ฒ ๊ฐ์์ ๋ต๋ณ๋๋ ค์~
TDD
TDD๋ฅผ ์๋ํด ๋ณด๋ ค๊ณ ํ๋, ์ฒ์ ํ ์คํธ ํ์ผ์ ์ด๋ฆ์ ์ ํ๋ ๊ฒ๋ถํฐ ๋งํ๋ ๊ฒฝํ์ ํ์ต๋๋ค. TDD๋ฅผ ์ํด ๊ฐ์ฅ ๋จ์ํ ๋ก์ง์ ๋จผ์ ํ ์คํธํ๊ธฐ ์ํด์๋ ๊ทธ ๋ก์ง์ด ์ด๋ค ๊ฐ์ฒด์ ์กด์ฌํด์ผ ํ๋์ง ๋จผ์ ์ ํด์ผ ํ๋ ๊ฑด๊ฐ์? ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด TDD๋ก ๊ฐ๋ฐ์ ์์ํ๊ธฐ ์ ์ ์ ์ฒด ์๋น์ค์ ์ค๊ณ๋ฅผ ์๋ฒฝํ๊ฒ ํด๋์์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
์ด๊ธฐ ์ค๊ณ
์ด๊ธฐ์ ์ค๊ณํ์ค ๋ ์ด๋ค ํ๋ฆ์ผ๋ก ์ด๋ค ๊ฐ์ฒด๋ค์ด ํ์ํ ์ง ์ ํ์๋์ง ๊ถ๊ธํฉ๋๋ค.
TDD๋ฅผ ์์ํ๊ธฐ์ ์์ ์๊ตฌ์ฌํญ์ ๋จผ์ ์ ๋ฆฌํ๋๊ฒ ๊ฐ์ต๋๋ค.
์๊ตฌ์ฌํญ์ ์ ๋ฆฌํ ๋ ํ์ํ ๊ธฐ๋ฅ๋ค์ด ๋ฌด์์ด ์๋์ง ๋์ดํด๋ณด๊ณ ์ฑ๊ฒฉ์ด ๋น์ทํ ๊ฒ ๋ผ๋ฆฌ ๋ฌถ์ด๋ด
๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๊ตฌ์ฌํญ์ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฐ์ฒด๋ค์ด ์ด๋ค๊ฒ๋ค์ด ํ์ํ ์ง ์ด๋ค ๊ฐ์ฒด๋ผ๋ฆฌ ์ํธ์์ฉ์ํ ์ง ๊ทธ๋ ค๋ณด๋๊ฒ ๊ฐ๋ค์. ์ด๋ ์ฑ๊ฒฉ์ด ๋น์ทํ ๊ฒ๋ผ๋ฆฌ ๋ฌถ์ ํ๋์ ์งํฉ์ด ํ๋์ ๊ฐ์ฒด๊ฐ ๋๊ฑฐ๋ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ฒด๋ก ํ ๋น๋๋๊ฒ ๊ฐ๋ค์.
์๋์ ๊ฐ์ ์์๋ฅผ ๋ณด์ฌ๋๋ฆด์ ์์๊ฒ ๊ฐ๋ค์
## ์๋๋ฆฌ์ค
- ํ๋ ์ด์ด ์ด๋ฆ์ ์ผํ๋จ์๋ก ์
๋ ฅ๋ฐ๋๋ค.
- ์นด๋ ๋ถ๋ฐฐ
- ๋๋ฌ๋ 1์ฅ์ ๋ฐ๋๋ค
- ์ ์ ๋ 2์ฅ์ ๋ฐ๋๋ค.
- ์นด๋ ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ค
- ์ ์ ์นด๋์ ํฉ์ด 21๋ฏธ๋ง์ด๋ฉด ์นด๋๋ฅผ ์ถ๊ฐ๋ก ๋ฐ์ ์ ์๋ค.
- ๋๋ฌ๋ 16์ดํ๋ฉด 1์ฅ์ ์ถ๊ฐ๋ก ๋ฐ๋๋ค.
- ๋๋ฌ๋ 17์ด์์ด๋ฉด ์นด๋๋ฅผ ๋ฐ์ง์๋๋ค.
- ๊ฒฐ๊ณผ์ถ๋ ฅ
- ๋๋ฌ์ ํ๋ ์ด์ด์ ์นด๋๋ฆฌ์คํธ์ ํฉ๊ณ๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ต์ข
์นํจ๋ฅผ ์ถ๋ ฅํ๋ค.
## ๊ธฐ๋ฅ
- ์
๋ ฅ
- ์ผํ๋ก ๋ถ๋ฆฌํด์ Player ๊ฐ์ฒด๋ก ์์ฑ
- ํ๋ ์ด์ด์๊ฒ ์นด๋๋ฅผ ๋ ๋ฐ์์ง ๋ฌผ์ด๋ณธ๋ค
- ํ๋ ์ด์ด
- **๋๋ฌ**
- ๋๋ฌ๊ฐ ํจ๋ฅผ ๋๋ ์ค๋ค
- 1์ฅ, 2์ฅ
- **์ ์ **
- ๊ฒฐ๊ณผ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
- ์นด๋ํจ
- ์์ ์ ์ ์์ ํฉ์ ๊ณ์ฐ
- ๋ค๋ฅธํจ์ ์ ์๋ฅผ ๋น๊ต
- Burst ์ฌ๋ถ
- ๋ธ๋์ญ ์ฌ๋ถ
- ์นด๋๋ญ์น
- ์นด๋๋ฅผ 1๊ฐ์ฉ ๊ฐ์ ธ์จ๋ค.
- ๊ฒ์
- ์ ์ ์นด๋๋ฅผ ์ถ๊ฐ๋ก ๋ฐ์์ง ์ง๋ฌธํ๊ณ ์ถ๊ฐํ๋ค.
- ๋๋ฌ์ ์นด๋ ์ถ๊ฐ๊ฐ ํ์ํ๋ฉด ์ถ๊ฐํ๋ค.
์ ์์๋ ์ ๋ง ๊ฐ๋จํ๊ฒ ์์ฑํ ๊ฒ ์ด๊ณ ์ง๊ธ ์ ํํ ์์ฑํ๋ผ๊ณ ํ๋ค๋ฉด ๋ ์ธ์ธํ๊ฒ ์์ฑํ ๊ฒ ๊ฐ๊ธดํ๋ค์
๋ฐฉ๋ฒ์ด์ผ ์ฌ๋ฌ๊ฐ์ง๊ฒ ์ง๋ง ์ด๋ฌํ ๊ณผ์ ์ ์ค๋ฌด๋ฅผ ํ๋ฉด์๋ ์์๋จ๊ณ์ ํด๋นํ๋ ๊ต์ฅํ ์ค์ํ ์์ ์ด๋ ์ฐ์ตํด๋ณด์๋ฉด ์ข์๊ฒ ๊ฐ์ต๋๋ค :)
์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์๋ค๋ฉด ํธํ๊ฒ ์ง๋ฌธ์ฃผ์ธ์
| this.players = PlayerParser.parse(playerNames); | ||
| this.dealer = new Dealer(); | ||
| users = new ArrayList<>(PlayerParser.parse(playerNames)); | ||
| users.add(new Dealer()); |
There was a problem hiding this comment.
์ด์ ์ "Users๋ User๋ง ์๊ณ ์๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค"๋ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด์๋๋ฐ์~ ์ด๋ฒ์ List<User>๋ก ํฉ์น๋ฉด์ ์คํ๋ ค instanceof์ ์บ์คํ
์ด ์๊ฒจ๋ฒ๋ฆฐ๊ฒ ๊ฐ์์.
์ถ์ํ๋ฅผ ํ๋๋ฐ ๊ตฌ์ฒดํด๋์ค๋ฅผ ๊บผ๋ด์ฐ๋๊ฑด ์ถ์ํํ ๋ณด๋์ด ์กฐ๊ธ ํ๋ ค์ง๋๊ฒ ๊ฐ์ต๋๋ค. instanceof ์์ด๋ ๋๋ฌ์ ํ๋ ์ด์ด๋ฅผ ๊ตฌ๋ถํ ์ ์์๊น์?
| cardProvider.provideInitCards(users); | ||
|
|
||
| for (Player player : players) { | ||
| assertThat(player.cards().size()).isEqualTo(2); |
There was a problem hiding this comment.
ํ
์คํธ์์ for ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ฐ ํ๋ ์ด์ด์ ์นด๋ ์๋ฅผ ๊ฒ์ฆํ๊ณ ์๋๋ฐ์~ ํ
์คํธ ์ฝ๋์ ๋ฐ๋ณต๋ฌธ์ด ๋ค์ด๊ฐ๋ฉด ์ด๋ค ํ๋ ์ด์ด์์ ์คํจํ๋์ง ํ์
ํ๊ธฐ ์ด๋ ค์์ง ์ ์์ต๋๋ค.
| @@ -25,8 +23,7 @@ void create_username_success(String username) { | |||
| void create_username_fail_when_empty_name(String emptyName) { | |||
| //when & then | |||
| assertThatThrownBy(() -> new Username(emptyName)) | |||
There was a problem hiding this comment.
๊ธฐ์กด์ ์๋ ์์ธ ๋ฉ์์ง ๊ฒ์ฆ(.hasMessage(...))์ ์ ๊ฑฐํ์
จ๋๋ฐ์~ ์์ BetAmountTest์์๋ ์ธ๊ธํ๊ฒ๊ณผ ๊ฐ์ ๋ถ๋ถ์ธ๋ฐ, ์คํ๋ ค ์ด์ ์ฝ๋๊ฐ ๋ ์ข์ ํ
์คํธ์๋๊ฒ ๊ฐ์์.
๋ฉ์์ง ๊ฒ์ฆ์ ๋ค์ ์ถ๊ฐํ๋๊ฑธ ๊ถ์ฅ๋๋ฆฝ๋๋ค~
| ; | ||
|
|
||
| private final String format; | ||
| public static GameResult judge(Dealer dealer, Player player) { |
There was a problem hiding this comment.
๋น๋จ ์ด ์ฝ๋์๋ง ํด๋นํ๋ ๊ฒ์ ์๋๋ฐ์
public static ๋ฉ์๋์ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ด ๊ตฌํ๋์ด์๋ค๋ฉด ์ ๋ง static ์ผ๋ก ๊ตฌํํ๋๊ฒ ๋ง๋์ง ์์ฌํด๋ณผ ํ์๊ฐ ์์๊ฒ ๊ฐ์์
static ํ๊ฒ ๊ตฌํํ๋ค๋๊ฒ์ ์ฌ์ค GemeResult๊ฐ ์๋๋ผ ๋ค๋ฅธ๊ณณ์ ์์นํด๋ ๋์ผํ๊ฒ ๊ตฌํํ ์ ์๊ณ , ์ด๋ค ํด๋์ค์ ์ ์ธํ๋๋์ ์ฐจ์ด๋ง ๋ฐ์ํ๋๊ฒ ๊ฐ์์
๋ฌผ๋ก ํด๋น ์ฝ๋๊ฐ ์ด๋ค ๋งฅ๋ฝ์ ์ํด ์กด์ฌํ๊ฒ ๊ตฌ๋ ๋ผ๋ ์๊ฐ์ ํ ์ ์๊ฒ ์ง๋ง์
๋ฉ์๋์ ์ฐธ์ฌํ ๊ฐ์ฒด๋ค๋ผ๋ฆฌ ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ณผ์ ์์๊น์?
์ฒดํฌ ๋ฆฌ์คํธ
test๋ฅผ ์คํํ์ ๋, ๋ชจ๋ ํ ์คํธ๊ฐ ์ ์์ ์ผ๋ก ํต๊ณผํ๋์?์ด๋ค ๋ถ๋ถ์ ์ง์คํ์ฌ ๋ฆฌ๋ทฐํด์ผ ํ ๊น์?
TDD
TDD๋ฅผ ์๋ํด ๋ณด๋ ค๊ณ ํ๋, ์ฒ์ ํ ์คํธ ํ์ผ์ ์ด๋ฆ์ ์ ํ๋ ๊ฒ๋ถํฐ ๋งํ๋ ๊ฒฝํ์ ํ์ต๋๋ค. TDD๋ฅผ ์ํด ๊ฐ์ฅ ๋จ์ํ ๋ก์ง์ ๋จผ์ ํ ์คํธํ๊ธฐ ์ํด์๋ ๊ทธ ๋ก์ง์ด ์ด๋ค ๊ฐ์ฒด์ ์กด์ฌํด์ผ ํ๋์ง ๋จผ์ ์ ํด์ผ ํ๋ ๊ฑด๊ฐ์? ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด TDD๋ก ๊ฐ๋ฐ์ ์์ํ๊ธฐ ์ ์ ์ ์ฒด ์๋น์ค์ ์ค๊ณ๋ฅผ ์๋ฒฝํ๊ฒ ํด๋์์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
์ด๊ธฐ ์ค๊ณ
์ด๊ธฐ์ ์ค๊ณํ์ค ๋ ์ด๋ค ํ๋ฆ์ผ๋ก ์ด๋ค ๊ฐ์ฒด๋ค์ด ํ์ํ ์ง ์ ํ์๋์ง ๊ถ๊ธํฉ๋๋ค.
๋ฆฌํฉํ ๋ง
์ด๋ฒ์ ๋ฐฐํ ์์ต๊ธ ๊ณ์ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ณผ์ ์์ ๋ง์ ๋ฆฌํฉํ ๋ง์ด ํ์ํ์ต๋๋ค. ํ ๋ฒ์ ๋ง์ ํด๋์ค๋ค์ด ๊ผฌ์ฌ์๋ค ๋ณด๋ ์ด๋์๋ถํฐ ํ์ด๋๊ฐ์ผ ํ ์ง ๊ฐ์ ๋ชป ์ก์๋๋ฐ์, ์ด๋ ๊ฒ ๋ณต์กํ๊ฒ ๊ผฌ์ธ ์ฝ๋๋ค์ ํ ๋๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ ๊ฒ์ด ์ข์๊น์?