Skip to content

[πŸš€ 사이클1 - λ―Έμ…˜ (λΈ”λž™μž­ κ²Œμž„ μ‹€ν–‰)] 이산 λ―Έμ…˜ μ œμΆœν•©λ‹ˆλ‹€.#1001

Merged
verus-j merged 81 commits intowoowacourse:rix01from
Rix01:step1
Mar 11, 2026
Merged

Conversation

@Rix01
Copy link

@Rix01 Rix01 commented Mar 7, 2026

πŸƒ λΈ”λž™μž­

체크 리슀트

  • λ―Έμ…˜μ˜ ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­μ„ λͺ¨λ‘ κ΅¬ν˜„ν–ˆλ‚˜μš”?
  • Gradle testλ₯Ό μ‹€ν–‰ν–ˆμ„ λ•Œ, λͺ¨λ“  ν…ŒμŠ€νŠΈκ°€ μ •μƒμ μœΌλ‘œ ν†΅κ³Όν–ˆλ‚˜μš”?
  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜λ‚˜μš”?

객체지ν–₯ μƒν™œμ²΄μ‘° μš”κ΅¬μ‚¬ν•­μ„ μ–Όλ§ˆλ‚˜ 잘 μΆ©μ‘±ν–ˆλ‹€κ³  μƒκ°ν•˜μ‹œλ‚˜μš”?

1~5점 μ€‘μ—μ„œ μ„ νƒν•΄μ£Όμ„Έμš”.

  • 1 (μ „ν˜€ μΆ©μ‘±ν•˜μ§€ λͺ»ν•¨)
  • 2
  • 3 (보톡)
  • 4
  • 5 (μ™„λ²½ν•˜κ²Œ μΆ©μ‘±)

μ„ νƒν•œ 점수의 이유λ₯Ό μ μ–΄μ£Όμ„Έμš”.

  • κ΅¬ν˜„ μ™„λ£Œ ν›„ μ½”λ“œλ₯Ό λ‹€μ‹œ μ‚΄νŽ΄λ³΄λ‹ˆ 객체지ν–₯ μƒν™œμ²΄μ‘° μš”κ΅¬μ‚¬ν•­ 9원칙 쀑, 'λͺ¨λ“  μ—”ν‹°ν‹°λ₯Ό μž‘κ²Œ μœ μ§€ν•œλ‹€'λŠ” κ·œμΉ™μ„ 잘 μ§€ν‚€μ§€ λͺ»ν•œ 것 κ°™λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

    BlackJackController에 λ‹€μ†Œ κΈ΄ μ½”λ“œκ°€ μžˆλŠ” 것 κ°™κ³  ν•΄λ‹Ή μ»¨νŠΈλ‘€λŸ¬κ°€ λ„ˆλ¬΄ λ§Žμ€ μ±…μž„μ„ μ§€κ³  μžˆλŠ” 것 κ°™λ‹€κ³  λŠκ»΄μ‘ŒμŠ΅λ‹ˆλ‹€. 아직은 μ±…μž„ 뢄리λ₯Ό μœ„ν•΄ μ–΄λ–€ 것을 해야할지에 λŒ€ν•΄ 지식이 쑰금
    λΆ€μ‘±ν•˜λ‹€κ³  슀슀둜 λŠκΌˆμŠ΅λ‹ˆλ‹€.

  • 'κ²Œν„° ν”„λ‘œνΌν‹°λ₯Ό μ“°μ§€ μ•ŠλŠ”λ‹€'λŠ” κ·œμΉ™μ„ 잘 μ§€ν‚€μ§€ λͺ»ν•œ 것 κ°™μ•„μ„œ λΆ€μ‘±ν•˜λ‹€κ³  λŠκ»΄μ‘ŒμŠ΅λ‹ˆλ‹€.

    사싀 μ§€κΈˆκΉŒμ§€ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ getter 없이 μˆ˜ν–‰ν•΄ λ³Έ 적이 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 1μ°¨ νŽ˜μ–΄ν”„λ‘œκ·Έλž˜λ°μ—μ„œλ„ 본격적으둜 λ„μž…ν•  생각을 λͺ»ν–ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 뢀뢄에 μ§‘μ€‘ν•˜μ—¬ 리뷰해야 ν• κΉŒμš”?

  • μ±…μž„ 뢄리λ₯Ό μœ„ν•΄ μ–΄λ–€ μ‹μœΌλ‘œ λ³΄μ™„ν•˜λŠ” 것이 쒋을지 ν”Όλ“œλ°± λ°›κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

    BlackJackController에 λ‹€μ†Œ λ§Žμ€ μ±…μž„μ΄ λΆ€μ—¬λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή 뢀뢄을 μ–΄λ–€ μ‹μœΌλ‘œ μ±…μž„λΆ„λ¦¬λ₯Ό ν•˜λ©΄ 쒋을지 ν”Όλ“œλ°± λ°›κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ±…μž„ 뢄리λ₯Ό ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ μ„ μˆ˜ 지식이 μžˆλ‹€λ©΄
    ν•΄λ‹Ή
    뢀뢄이 μ–΄λ–€ 뢀뢄인지 μ•Œλ €μ£Όμ‹œλ©΄ λ¨Όμ € κ³΅λΆ€ν•œ ν›„ λ„μž…ν•΄λ³΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

  • 이번 과제λ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ 처음으둜 μ œλŒ€λ‘œ TDD ν˜•μ‹μœΌλ‘œ 과제λ₯Ό μ§„ν–‰ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. ν˜„μž¬ μ‹€λ¬΄μ—μ„œλŠ” TDD 방식이 μ–΄λ–»κ²Œ μƒκ°λ˜κ³  μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

    μ²˜μŒμ—λŠ” TDD둜 과제λ₯Ό μ§„ν–‰ν•˜κ²Œ 되면 λ„ˆλ¬΄ λ§Žμ€ μ‹œκ°„μ΄ λ“€ 것 κ°™λ‹€κ³  생각을 ν–ˆμ—ˆλŠ”λ° 였히렀 μ΄λ ‡κ²Œ μ°¨κ·Όμ°¨κ·Ό μ§„ν–‰ν•˜λ‹€λ³΄λ‹ˆ μ‹€μˆ˜κ°€ 많이 μ€„μ—ˆκ³ , 였히렀 더 λΉ λ₯΄κ²Œ 개발이 진행될 수 μžˆμ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ €λŠ”
    이번
    과제λ₯Ό 톡해 TDDκ°€ 정말 μ’‹λ‹€κ³  μƒκ°ν•˜κ²Œ λ˜μ—ˆλŠ”λ° μ‹€λ¬΄μ—μ„œλ„ TDD 방식을 많이 μ„ ν˜Έν•˜λŠ”μ§€ μ•Œκ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, νŽ˜μ–΄ 덕뢄에 TDD 방식을 μ œλŒ€λ‘œ κ²½ν—˜ν•΄ λ³Ό 수 μžˆμ—ˆλŠ”λ° 쑰금 더 보완해야 ν•  뢀뢄이
    μžˆλ‹€λ©΄ μ–΄λ–€ 뢀뢄인지 κΌ­ ν”Όλ“œλ°± λ°›κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. TDD에 λŒ€ν•΄ 아직 λͺ¨λ₯΄λŠ” 뢀뢄이 λ§Žλ‹€λ³΄λ‹ˆ ν”Όλ“œλ°± 많이 ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

  • ν•΄λ‹Ή λΈ”λž™μž­ κ³Όμ œμ—μ„œ μΉ΄λ“œλ₯Ό μ…”ν”Œν•˜κ³  λ‚˜λˆ μ£ΌλŠ” 둜직이 μžˆλŠ”λ° 그런 랜덀 ν…ŒμŠ€νŠΈμ— λŒ€ν•΄μ„œλŠ” μ–΄λ–€ λ°©μ‹μœΌλ‘œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ 쒋은지 ν”Όλ“œλ°± λ°›κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

    μ–΄λ–€ λ°©μ‹μœΌλ‘œ ν•˜λ©΄ 쒋을지 잘 λͺ¨λ₯΄κ² μ–΄μ„œ μš°μ„ μ€ 디버깅을 톡해 잘 μ„žμ˜€λŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³  λ„˜μ–΄κ°”μŠ΅λ‹ˆλ‹€.

  • Player와 Dealerλ₯Ό ParticipantλΌλŠ” 좔상 클래슀둜 λ¬Άμ—ˆλŠ”λ° 잘 ν•œ 뢀뢄인지, λΆ€μ‘±ν•œ 뢀뢄이 μžˆλ‹€λ©΄ μ–΄λ–»κ²Œ λ³΄μ™„ν•˜λ©΄ 쒋을지 ν”Όλ“œλ°± λ°›κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

softmoca added 30 commits March 4, 2026 17:20
Copy link

@verus-j verus-j left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ•ˆλ…•ν•˜μ„Έμš” 이산~
ν…ŒμŠ€νŠΈ μ½”λ“œ κ°œμ„ ν•˜μ‹œλŠλΌ κ³ μƒν•˜μ…¨μŠ΅λ‹ˆλ‹€! μ΄λ²ˆμ—λŠ” ν”„λ‘œλ•μ…˜ μ½”λ“œ μœ„μ£Όμ˜ ν”Όλ“œλ°± λ‚¨κ²¨λ“œλ ΈμŠ΅λ‹ˆλ‹€. 확인 ν›„ μˆ˜μ • λΆ€νƒλ“œλ €μš”

Chaerin Lee added 26 commits March 11, 2026 12:53
Copy link

@verus-j verus-j left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ•ˆλ…•ν•˜μ„Έμš” 이산~
ν”Όλ“œλ°± λ°˜μ˜ν•˜λŠλΌ κ³ μƒν•˜μ…¨μŠ΅λ‹ˆλ‹€. 이번 사이클은 μ—¬κΈ°μ„œ 이만 λ¨Έμ§€ν•˜κ² μŠ΅λ‹ˆλ‹€. λͺ‡κ°€μ§€ ν”Όλ“œλ°± λ‚¨κ²¨λ’€λŠ”λ°, λ‹€μŒ 사이클 μ§„ν–‰ν•˜μ‹€ λ•Œ μ°Έκ³  λΆ€νƒλ“œλ €μš”~

Comment on lines +12 to +29
void κ²Œμž„μ΄_μ‹œμž‘λ˜λ©΄_μ°Έμ—¬μž_λͺ¨λ‘_μΉ΄λ“œλ₯Ό_2μž₯μ”©_λ°›λŠ”λ‹€() {
// arrange
List<String> names = List.of("이산", "λͺ¨μΉ΄", "λ°”λ‹ˆ", "μ†Œλ‚™λˆˆ");
Players players = new Players(names);
Dealer dealer = new Dealer();
Deck deck = new Deck();
BlackJackGame blackJackGame = new BlackJackGame(players, dealer, deck);

// act
blackJackGame.initDraw();

// assert
List<Participant> allParticipants = Stream.concat(
Stream.of(dealer), players.getPlayers().stream()
).toList();
assertThat(allParticipants).allSatisfy(participant ->
assertThat(participant.getCardCount()).isEqualTo(2));
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BlackJackGame의 λ™μž‘μ„ κ²€μ¦ν•˜κΈ° μœ„ν•΄ μ™ΈλΆ€μ—μ„œ μƒμ„±λ˜μ–΄ μ£Όμž…λœ 객체의 μƒνƒœλ₯Ό ν™•μΈν•˜λŠ”κ²Œ μ΄μƒν•˜μ§€ μ•ŠμœΌμ‹ κ°€μš”? BlackJackGame은 initDraw둜 μ£Όμž… 받은 객체의 μƒνƒœλ§Œ λ³€κ²½μ‹œν‚€κ³  이후에 μ‚¬μš©ν•  수 μžˆλŠ” κΈ°λŠ₯이 μ—†λ„€μš”. ν˜„μž¬ κ΅¬μ‘°μ—μ„œ BlackJackGame이 μœ ν‹Έμ„± ν΄λž˜μŠ€μ™€ μ–΄λ–€ 점이 λ‹€λ₯΄λ‹€κ³  λ³Ό 수 μžˆλŠ”κ±ΈκΉŒμš”?

Copy link
Author

@Rix01 Rix01 Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ•ˆλ…•ν•˜μ„Έμš” 베루슀!
1μ°¨ ν…ŒμŠ€νŠΈ μ½”λ“œμ—μ„œλΆ€ν„° μ½”λ“œ λΆ€λΆ„κΉŒμ§€ λͺ¨λ‘ μƒμ„Έν•˜κ²Œ ν”Όλ“œλ°± ν•΄μ£Όμ…”μ„œ 정말 κ°μ‚¬ν•©λ‹ˆλ‹€.πŸ™‡πŸ»β€β™€οΈ
BlackJackJudge 클래슀λ₯Ό μ—†μ• λŠ” κ³Όμ •λ§Œ μƒκ°ν•˜λ‹€λ³΄λ‹ˆ κ·Έ κ³Όμ •μ—μ„œ BlackJackGame의 μ±…μž„μ΄ 맀우 μž‘μ•„μ§„ 것을 μ œλŒ€λ‘œ ν™•μΈν•˜μ§€ λͺ»ν–ˆλ„€μš”. μˆ˜μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€!

Comment on lines +34 to +40
private int getNormalPoint() {
int totalPoint = 0;
for (Card card : cards) {
totalPoint += card.getCardPoint();
}
return totalPoint;
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기도 Stream을 μ μš©ν•΄λ³΄λ©΄ 쒋을 것 κ°™μ•„μš”~

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ μš©ν•˜κ² μŠ΅λ‹ˆλ‹€!!

Comment on lines +6 to +11
@Test
void μ°Έμ—¬μžλŠ”_μΉ΄λ“œλ₯Ό_받을_수_μžˆλ‹€() {
Participant participant = new Player("이산", new Hand());
Deck deck = new Deck();
participant.receiveCard(deck.draw());
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ—¬κΈ°λŠ” 검증문이 μ—†λ„€μš” γ… γ… 

Copy link
Author

@Rix01 Rix01 Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ν—‰..! ν…ŒμŠ€νŠΈ μ½”λ“œ μˆ˜μ • 도쀑에 κΉœλ°•ν•˜κ³  검증문을 μž‘μ„±ν•˜μ§€ λͺ»ν•œ 것 κ°™λ„€μš”.. step2μ—μ„œ κΌ­ μˆ˜μ •ν•˜κ² μŠ΅λ‹ˆλ‹€!!

@verus-j verus-j merged commit d40ac81 into woowacourse:rix01 Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants