Skip to content

[πŸš€ 사이클2 - λ―Έμ…˜ (λΈ”λž™μž­ λ² νŒ…)] λ…€λ…• λ―Έμ…˜ μ œμΆœν•©λ‹ˆλ‹€.#1117

Open
JunHyung1206 wants to merge 130 commits intowoowacourse:junhyung1206from
JunHyung1206:step2
Open

[πŸš€ 사이클2 - λ―Έμ…˜ (λΈ”λž™μž­ λ² νŒ…)] λ…€λ…• λ―Έμ…˜ μ œμΆœν•©λ‹ˆλ‹€.#1117
JunHyung1206 wants to merge 130 commits intowoowacourse:junhyung1206from
JunHyung1206:step2

Conversation

@JunHyung1206
Copy link

@JunHyung1206 JunHyung1206 commented Mar 14, 2026

체크 리슀트

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

사이클 1 ν”Όλ“œλ°± 반영

  • λ”œλŸ¬μ—μ„œ λ·° λ‘œμ§μ— κ°€κΉŒμš΄ name을 λΆ„λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λ§€μ§λ„˜λ²„λ₯Ό μƒμˆ˜ν™”ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 점수 계산 λ‘œμ§μ„ playerκ°€ μ•„λ‹Œ μ™ΈλΆ€μ—μ„œ ν•˜λ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • Dto 넀이밍을 google java style guide에 맞게 λ³€κ²½ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

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

μƒνƒœ νŒ¨ν„΄μ˜ 적용

  • 사싀 λΉ λ₯΄κ²Œ κ΅¬ν˜„ν•˜κ³  ν”Όλ“œλ°± λ°›λŠ” 것이 κ΅¬ν˜„μ›μΉ™μ΄μ—ˆμ§€λ§Œ, λ―Έμ…˜ 뢀뢄에 μƒνƒœ νŒ¨ν„΄μ˜ μ μš©μ— λŒ€ν•΄μ„œ μ’€ 더 ν•™μŠ΅μ„ 해보고 μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

  • μ΄μ „κΉŒμ§€ 객체 μ§€ν–₯을 ν•œλ‹€κ³  해도, μ±…μž„μ •λ„λ§Œ 고민을 ν–ˆμ—ˆμ§€, λ‹€ν˜•μ„±μ„ 잘 ν™œμš©ν•˜λŠ” 방법을 잘 λͺ¨λ₯Έλ‹€κ³  생각을 ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€.

  • μ΄λ²ˆμ— μƒνƒœ νŒ¨ν„΄μ„ μ μš©ν•΄λ³΄λ©΄μ„œ μ œκ°€ λŠλ‚€ 점은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • μž₯점

    • λ‹€ν˜•μ„±μ„ ν™œμš©ν–ˆκΈ° λ•Œλ¬Έμ—, 쑰건문 λΆ„κΈ°κ°€ 맀우 μΆ•μ†Œλœλ‹€.
    • μ»¨νŠΈλ‘€λŸ¬κ°€ κ°€λ²Όμ›Œμ§„λ‹€.
    • λ‹€λ₯Έ κ³³μ—μ„œ μ΄μš©ν•  λ•Œ, κ·Έ μƒνƒœκ°€ 무엇인지 κΌ­ μ•Œμ•„μ•Όν•  ν•„μš”κ°€ μ—†λ‹€. (λ‹€ν˜•μ„±μ˜ 제일 큰 μž₯점이라고 μƒκ°ν•©λ‹ˆλ‹€.)
  • 단점

    • 디버깅 ν•  λ•Œ 계속 νŒŒκ³ λ“€λ©° λ΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— κ½€ ν”Όκ³€ν•˜λ‹€.
    • μƒˆλ‘œμš΄ 쑰건이 생성될 λ•Œ 클래슀λ₯Ό μƒˆλ‘œ λ§Œλ“€μ–΄μ•Όν•œλ‹€,
    • μƒνƒœλ₯Ό 계속 νŒλ³„ν•΄μ•Όν•˜λŠ” λ‘œμ§μ— λŒ€ν•΄μ„œ (이번 λ―Έμ…˜μ˜ 경우 λ”œλŸ¬μ˜ 히트, λΈ”λž™μž­ νŒλ³„ λ“±)μ—μ„œ 계속 확인을 ν•΄μ•Όν–ˆκΈ° λ•Œλ¬Έμ— κ΅³μ΄λΌλŠ” 생각이 많이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.
    • μƒνƒœλ₯Ό ν•œλ²ˆ 감쌌기 λ•Œλ¬Έμ—, μœ„μž„ν•΄μ„œ getter둜 계속 λ“€κ³  μ˜€λŠ” κ²½μš°κ°€ 많이 λ°œμƒν–ˆμ—ˆμŠ΅λ‹ˆλ‹€.
  • 이런 이유둜 if문에 λΉ„ν•΄μ„œ 더 νš¨μš©μ„±μ΄ μžˆλŠ”κ°€λŠ” 아직 μ˜λ¬Έμž…λ‹ˆλ‹€.

ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ μž‘μ„±

  • λ‹¨μœ„ ν…ŒμŠ€νŠΈλŠ” 도메인이 ν•˜κ³ μž ν•˜λŠ” λ°”κ°€ λΆ„λͺ…ν•˜κΈ° λ•Œλ¬Έμ—, μž‘μ„±ν•˜κΈ°κ°€ μ‰¬μ› μŠ΅λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ 흐름을 νŒλ³„ν•˜λŠ” ν…ŒμŠ€νŠΈλŠ” μ–΄λ–»κ²Œ μž‘μ„±ν• μ§€κ°€ κ³ λ―Όμ΄μ—ˆμŠ΅λ‹ˆλ‹€.
  • κ°€λ Ή λ”œλŸ¬κ°€ λΈ”λž™μž­μ΄λΌλ©΄, ν”Œλ ˆμ΄μ–΄μ˜ 행동은 λ©ˆμΆ”κ³  λ°”λ‘œ 점수 κ³„μ‚°λ‘œμ§μ„ μ‹€ν–‰ν•΄μ•Όν•˜λŠ”λ°, 이 뢀뢄을 μ–΄λ–€ μ‹μœΌλ‘œ ν…ŒμŠ€νŠΈλ₯Ό ν•  수 μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

Jihyun3478 and others added 30 commits March 4, 2026 15:14
Copy link

@pkeugine pkeugine left a comment

Choose a reason for hiding this comment

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

μ•ˆλ…•ν•˜μ„Έμš” λ…€λ…•,
λ―Έμ…˜ 잘 μ§„ν–‰ν•΄μ£Όμ…¨λ„€μš”.

이번 λ―Έμ…˜μ—μ„œ μ œκ°€ 남긴 μ½”λ©˜νŠΈλ“€μ˜ 큰 흐름은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€ :

  • ν”„λ‘œμ νŠΈμ˜ 전체적인 관리에 λŒ€ν•˜μ—¬ (컀밋, μ»¨λ²€μ…˜, 이전 PR μ—μ„œ λ‚˜λˆ΄λ˜ μ–˜κΈ°λ“€ λ“±)
  • λ„μž…ν•΄λ³΄μ‹  state 와 객체간 역할에 λŒ€ν•˜μ—¬
  • ν…ŒμŠ€νŠΈ κ΄€λ ¨ν•˜μ—¬ 녀녕이 남겨주신 질문과 μ œκ°€ μƒκ°ν•˜λŠ” λ‹€μŒμœΌλ‘œ ν•΄μ•Όν•  일

ν”„λ‘œμ νŠΈκ°€ 가독성 λ©΄μ—μ„œ μ½λŠ”λ° 뢀담이 μ—†μ—ˆκ³ ,
이 뢀뢄은 계속 μœ μ§€ν•΄λ³΄λ©΄ 정말 쒋을 λ“― μ‹Άμ–΄μš”!

μ§ˆλ¬Έμ΄λ‚˜ 의견이 μžˆλ‹€λ©΄ μ–Έμ œλ“  νŽΈν•˜κ²Œ DM λ˜λŠ” μ½”λ©˜νŠΈ λ‚¨κ²¨μ£Όμ„Έμš”.
이제 ν•΄λ‹Ή λ―Έμ…˜ μ™„λ£ŒκΉŒμ§€ μ–Όλ§ˆ 남지 μ•Šμ•˜μœΌλ‹ˆ 쑰금만 더 ν™”μ΄νŒ…ν•΄λ΄…μ‹œλ‹€.
ν•΄ν”Όν•΄ν‚Ήν•˜μ„Έμš”!! πŸ•Ί πŸ•Ί πŸ•Ί

Comment on lines -15 to -32
- [ ] [ν”„λ‘€λ‘œκ·Έ](https://prolog.techcourse.co.kr)에 μ…€ν”„ 체크λ₯Ό μž‘μ„±ν–ˆλ‚˜μš”?
- <!-- μž‘μ„±ν•œ μ…€ν”„ 체크의 링크λ₯Ό λ‚¨κ²¨μ£Όμ„Έμš”. -->


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

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

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

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

<!-- 이유 μž‘μ„± -->

Choose a reason for hiding this comment

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

ν•΄λ‹Ή λ‚΄μš©μ„ μ œκ±°ν•œ μ΄μœ κ°€ κΆκΈˆν•΄μš”.
λͺ‡λͺ‡ λ‹€λ₯Έ 크루듀도 μ œκ±°ν•˜λŠ” λ“― ν•˜λ˜λ°, μ΄μ œλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν…œν”Œλ¦Ώ λ‚΄μš©μΈκ°€μš”?

Copy link
Author

Choose a reason for hiding this comment

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

μš°ν…Œμ½” κΉƒν—ˆλΈŒ μͺ½μ—μ„œ μΌκ΄„μ μœΌλ‘œ μ œκ±°ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

@@ -1,10 +1,14 @@
package controller;

Choose a reason for hiding this comment

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

이번 PR은 κΈ°λŠ₯ μΆ”κ°€ 규λͺ¨μ— λΉ„ν•΄ commit μˆ˜κ°€ ꡉμž₯히 λ§Žμ€ νŽΈμ΄λ„€μš”.
그리고 컀밋 흐름이 쑰금 λ³΅μž‘ν•˜κ²Œ μ–½ν˜€μžˆμ–΄μš”.

ν•™μŠ΅ν•΄λ³΄λ©΄μ„œ, λ˜λŠ” 이것 저것 도전해보며 λ‹€μ–‘ν•œ μ‹œλ„λ₯Ό ν•΄λ³΄λŠ” 것은 μ’‹μ•„μš”.
ν•˜μ§€λ§Œ μž‘μ—…μ„ repository에 반영 ν•  λ•ŒλŠ”, commit 을 μ •λ¦¬ν•˜κ±°λ‚˜ κΌ­ ν•„μš”ν•œ κ²ƒλ“€λ§Œ 남기면 μ’‹κ² μ–΄μš”.

μ΄λ ‡κ²Œ μƒκ°ν•˜λŠ” μ΄μœ λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€ :

  • 리뷰어가 commit λ‹¨μœ„λ‘œ 무언가λ₯Ό ν™•μΈν•˜λ €κ³  ν•  λ•Œ, λ„ˆλ¬΄λ‚˜λ„ λ§Žμ€ μ‹œκ°„μ„ νˆ¬μžν•΄μ•Ό ν•΄μš”.
  • squash merge κ°€ μ•„λ‹ˆλΌλ©΄, μ΅œμ’… μ½”λ“œλ² μ΄μŠ€μ˜ git history에 이 λ§Žμ€ 컀밋듀이 κ·ΈλŒ€λ‘œ μ μš©λΌμš”.
  • λ‚˜μ€‘μ— 둀백을 ν•˜κ±°λ‚˜, κΈ°λŠ₯ λ‹¨μœ„λ‘œ 배포 ν•  것듀을 κ²°μ •ν•  λ•Œ μ•žμ„œ λ§ν•œ μ‹œκ°„ 투자λ₯Ό λ˜‘κ°™μ΄ ν•΄μ•Όν•˜λŠ” 일이 λ°œμƒν•΄μš”. 컀밋을 λˆ„λ½ν•΄μ„œ λ¬Έμ œκ°€ λ°œμƒν•  κ°€λŠ₯성도 ꡉμž₯히 λ†’μ•„μ§€κ³ μš”.
  • 객체지ν–₯, ν…ŒμŠ€νŠΈμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ git 컀밋 관리도 ꡉμž₯히 μ€‘μš”ν•œ μ—­λŸ‰ 쀑 ν•˜λ‚˜μ˜ˆμš”.

λ¬Όλ‘  μ–΄λ–€ ν”„λ‘œμ νŠΈμΈμ§€μ— 따라, λ˜λŠ” νŒ€ μ»¨λ²€μ…˜μ— 따라 컀밋 관리λ₯Ό 그리 μ€‘μš”ν•˜κ²Œ μƒκ°ν•˜μ§€ μ•Šμ„ λ•Œλ„ μžˆμ–΄μš”. ν•˜μ§€λ§Œ 이 참에 git 이 μ œκ³΅ν•˜λŠ” κΈ°λŠ₯에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ , κΌ­ ν•„μš”ν•œ κ²ƒλ“€λ§Œ λ‹΄μ•„μ„œ 컀밋 기둝을 잘 μŒ“μ•„λ³΄λŠ” κ²½ν—˜μ„ 해보면 쒋을 것 κ°™λ„€μš” :)

Choose a reason for hiding this comment

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

μΆ”κ°€λ‘œ, e8f7aa8 의 λ©”μ‹œμ§€λŠ” betting -> batting μ˜€νƒˆμž μˆ˜μ •μ΄λΌκ³  μ ν˜€ μžˆλŠ”λ°,
μ‹€μ œ 변경은 였히렀 batting을 betting으둜 λ˜λŒλ¦¬λŠ” μͺ½μ— 더 κ°€κΉλ„€μš”.
(그리고 λ°‘μ—μ„œλ„ μ–˜κΈ°ν•˜κ² μ§€λ§Œ, git 흐름이 λ³΅μž‘ν•˜κ²Œ κΌ¬μ΄λ©΄μ„œ ν•΄λ‹Ή 컀밋이 λ°˜μ˜λ˜μ§€ μ•Šμ•˜μ–΄μš”.)

그리고 fix: final둜 μˆ˜μ • 같은 λ©”μ‹œμ§€λŠ” μ§€κΈˆ λ‹Ήμž₯은 μ“°κΈ° νŽΈν•˜μ§€λ§Œ,
λ‚˜μ€‘μ— νžˆμŠ€ν† λ¦¬λ₯Ό λ‹€μ‹œ λ³Ό λ•ŒλŠ” 'μ–΄λ”” final 을 μ–΄λ–»κ²Œ μˆ˜μ •ν–ˆλ‹€λŠ”κ±°μ§€?' λΌλŠ” 생각이 λ“€μ–΄μ„œ 거의 정보λ₯Ό μ£Όμ§€ λͺ»ν•˜λ”λΌκ΅¬μš”.

컀밋 λ©”μ‹œμ§€λ₯Ό μ˜λ„μ— 맞게 잘 μž‘μ„±ν•΄λ³΄μ£  :)

Choose a reason for hiding this comment

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

νŒμ„ λ“œλ¦¬μžλ©΄,

이런 νžˆμŠ€ν† λ¦¬ μ •λ¦¬λŠ” git κΈ°λŠ₯을 쑰금만 μ΅ν˜€λ„ 체감이 ν™• λ‹¬λΌμ Έμš”.

μ§€κΈˆ λ‹¨κ³„μ—μ„œλŠ” git rebase -i μ •λ„λ§Œ μ•Œμ•„λ„ commit μˆœμ„œ λ³€κ²½, squash, λ©”μ‹œμ§€ μˆ˜μ •μ΄ κ°€λŠ₯ν•˜κ³ ,
git cherry-pick은 ν•„μš”ν•œ commit만 λ‹€λ₯Έ 브랜치둜 κ°€μ Έμ˜¬ λ•Œ μœ μš©ν•΄μš”.

μš°μ„  이 두 κ°€μ§€λΆ€ν„° κ°€λ³κ²Œ ν•™μŠ΅ν•΄λ³΄λ©΄ λ‹€μŒ PR이 훨씬 κΉ”λ”ν•΄μ§ˆ κ±°μ˜ˆμš”. 특히 rebase λ₯Ό ν™œμš©ν•œ git 관리 μ—°μŠ΅μ„ μ‘°κΈˆμ”© ν•΄λ³΄μ‹œλ©΄ 쒋을 λ“― ν•˜λ„€μš”. :)

Copy link
Author

@JunHyung1206 JunHyung1206 Mar 15, 2026

Choose a reason for hiding this comment

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

μ²˜μŒμ— 쑰금만 변경해도 컀밋을 ν•˜λΌκ³  ν•΄μ›Œμ„œ μŠ΅κ΄€μ μœΌλ‘œ ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€. λ¦¬λ·°ν•˜λŠ” μž…μž₯μ—μ„œλŠ” 이 과정이 맀우 ν”Όκ³€ν•  수 μžˆκ² λ‹€λΌλŠ” 생각이 λ“­λ‹ˆλ‹€. 그리고 revertλ₯Ό μ‚¬μš©μ„ ν–ˆλ‹€λ©΄, μ΄λŸ¬ν•œ 과정이 μ’€ 더 정리가 λ˜μ—ˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€.
μ’€ 더 κΈ°λŠ₯ λ‹¨μœ„λ‘œ λ¬Άμ–΄μ„œ 진행을 ν•˜κ³  컀밋 λ©”μ‹œμ§€λ„ μ’€ 더 μžμ„Ένžˆ μ λŠ” 것을 λͺ©ν‘œλ‘œ ν•΄μ•Όκ² μŠ΅λ‹ˆλ‹€.

그리고 μ˜€νƒˆμž μˆ˜μ • 같은 경우 ν‘Έμ‹œλ₯Ό ν•œ ν›„ λ’€λŠ¦κ²Œ λ°œκ²¬μ„ ν•΄μ„œ κ³ μΉ˜λŠ” 것이 νž˜λ“€μ—ˆμŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ, 컀밋 ν•  λ•Œλ„ λ©”μ‹œμ§€λ₯Ό 꼼꼼히 ν™•μΈν•˜κ³ , 사싀 λ³Έλ¬Έ λ‚΄μš©λ„ 같이 μ μ–΄μ•Όν•˜λŠ”λ°, κ·Έλƒ₯ 제λͺ©λ§Œ μ§“κ³  λ„˜κ²¨λ²„λ¦¬μž, ν–ˆλ˜ 뢀뢄이 λ°˜μ„±ν•˜κ²Œ λ©λ‹ˆλ‹€. λ¦¬λ·°λ°›μ•˜λ˜ μˆœκ°„λΆ€ν„° 고쳐보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

rebaseλŠ” κΈ°λŠ₯을 μ•Œκ³ λŠ” μžˆλŠ”λ°, 3-way mergeλ₯Ό ν•  λ•Œ, μΆ©λŒμ„ 해결을 잘 λͺ»ν•˜λ©΄ μ–΄λ–‘ν•˜μ§€, μ΄μ „μœΌλ‘œ λŒμ•„κ°€κΈ° νž˜λ“€ 것 같은데? λΌλŠ” 생각을 κ°€μ§€κ²Œ λ˜μ–΄μ„œ, 일반 merge둜 μŠ΅κ΄€μ„ λ“€μ˜€μ—ˆμŠ΅λ‹ˆλ‹€. μ’€ 더 깊게 곡뢀λ₯Ό ν•΄μ•Όν•  것 κ°™μŠ΅λ‹ˆλ‹€.
λ‹€μŒ μ£Ό ν…Œμ½”ν†‘ 주제둜 기초 κΉƒλͺ…λ Ήμ–΄λ‘œ 선정을 ν•˜κΈ΄ ν–ˆμ§€λ§Œ, appendix λŠλ‚ŒμœΌλ‘œ μΆ”κ°€ν•  μ˜ˆμ •μž…λ‹ˆλ‹€.
μžμ„Ένžˆ 곡뢀할 λͺ…λ Ήμ–΄ : rebase, cherry-pick, revert

@Override
public Status stay() {
throw new IllegalStateException("이미 턴이 λλ‚œ μƒνƒœμž…λ‹ˆλ‹€.");
}

Choose a reason for hiding this comment

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

Finishedμ—μ„œ μœ νš¨ν•˜μ§€ μ•Šμ€ μƒνƒœ 변경을 막아주신 점 μ’‹μ•„μš” πŸ‘

λ‹€λ§Œ μ§€κΈˆ ν…ŒμŠ€νŠΈλ₯Ό 보면 정상 흐름은 κ²€μ¦ν•˜κ³  μžˆμ§€λ§Œ,
이미 μ’…λ£Œλœ μƒνƒœμ—μ„œ λ‹€μ‹œ draw()λ‚˜ stay()λ₯Ό ν˜ΈμΆœν–ˆμ„ λ•Œ μ˜ˆμ™Έκ°€ λ‚˜λŠ” κ²½λ‘œλŠ” 직접 보호되고 μžˆμ§€ μ•Šλ„€μš”.

μƒνƒœ νŒ¨ν„΄μ„ λ„μž…ν•˜μ…¨λ‹€λ©΄ 이런 μ˜ˆμ™Έ κ²½λ‘œλ„ μ€‘μš”ν•œ κ·œμΉ™μ΄λ‹ˆ,
같이 ν…ŒμŠ€νŠΈν•΄λ³΄λ©΄ 더 μ•ˆμ‹¬μ΄ 될 것 같은데, μ–΄λ–»κ²Œ μƒκ°ν•˜μ‹œλ‚˜μš”?

μ „μ²΄μ μœΌλ‘œ domain κ΄€λ ¨ ν…ŒμŠ€νŠΈλŠ” νƒ„νƒ„ν•˜κ²Œ λ§Œλ“œλŠ” 것을 λͺ©ν‘œλ‘œ 해보면 쒋을 것 κ°™μ•„μš”.

Copy link
Author

Choose a reason for hiding this comment

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

μƒνƒœ νŒ¨ν„΄μ„ 객체의 λ³€ν™”μ—λ§Œ 신경을 μΌλŠ”λ°, μƒνƒœ νŒ¨ν„΄μ— λŒ€ν•΄μ„œλ„ 검증을 ν•΄μ•Όκ² λ„€μš”.
아직 적용이 μ΅μˆ™ν•˜μ§€ μ•Šμ€ λ‹¨κ³„μ΄μ§€λ§Œ, 적용과 검증 μͺ½μ„ 더 μ±„μ›Œλ‚˜κ°€λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

Copy link
Author

Choose a reason for hiding this comment

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

μƒνƒœμ˜ 전이와 였λ₯˜μƒν™©μ— λŒ€ν•΄μ„œ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.


public abstract boolean isRunning();

public abstract double earningsRate(Status dealerStatus);

Choose a reason for hiding this comment

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

μ§€κΈˆμ€ Statusκ°€ μƒνƒœ 전이와 μ •μ‚° κ·œμΉ™μ„ 같이 λ“€κ³  μžˆμ–΄μ„œ,
Start, Running처럼 아직 κ²Œμž„μ΄ λλ‚˜μ§€ μ•Šμ€ μƒνƒœλ„ earningsRate()λ₯Ό κ΅¬ν˜„ν•΄μ•Ό ν•˜λ„€μš”.

이 κ²½μš°μ—λŠ” StatusλŠ” μƒνƒœ λ³€ν™”λ§Œ λ‹΄λ‹Ήν•˜κ³ ,
정산은 Playerλ‚˜ 별도 계산 객체가 맑도둝 λΆ„λ¦¬ν•˜λ©΄ 더 μžμ—°μŠ€λŸ¬μšΈ μˆ˜λ„ μžˆμ–΄μš”.
그러면 μ •μ‚°ν•  수 μ—†λŠ” μƒνƒœκ°€ μ–΅μ§€λ‘œ μ˜ˆμ™Έλ₯Ό 던질 ν•„μš”λ„ μ—†μ–΄μ§€κ±°λ“ μš”.

λ…€λ…•μ˜ 생각은 μ–΄λ–€μ§€ κΆκΈˆν•˜λ„€μš”!

Copy link
Author

Choose a reason for hiding this comment

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

이 뢀뢄도 사싀 κ³ λ―Όμ΄μ—ˆλ˜κ²Œ, μ°Έκ°€μžκ°€ μƒνƒœλ₯Ό κ°€μ§€λŠ” 것은 μžμ—°μŠ€λŸ½λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. κ·Έ κ³Όμ •μ—μ„œ 확인할 λ•Œ λ‹€μš΄ μΊμŠ€νŒ…μ΄ μΌμ–΄λ‚˜μ§€ μ•Šμ„κΉŒλΌλŠ” 것이 제 κ³ λ―Όμ΄μ—ˆμŠ΅λ‹ˆλ‹€.
κ²°κ΅­ 상속을 μ‚¬μš©ν•΄μ„œ, μ•„λž˜μ— λŒ€ν•œ ν΄λž˜μŠ€μ— μ˜μ‘΄ν•˜μ§€ μ•Šκ² λ‹€λŠ” 것이 λͺ©ν‘œμΈλ°, λ‹€μš΄ μΊμŠ€νŒ…μ„ ν•˜λ©΄ μ˜λ―Έκ°€ μžˆμ„κΉŒλΌλŠ” κ³ λ―Όμ—μ„œ, μ΄λŸ¬ν•œ μ½”λ“œκ°€ λ‚˜μ™”μ—ˆμŠ΅λ‹ˆλ‹€.

λ§Œμ•½ ν•œλ‹€λ©΄, Finished된 μƒνƒœλ§Œ λ°›μ•„ μ •μ‚°ν•˜λŠ” 객체λ₯Ό λ§‘μ•„μ„œ λΆ„λ¦¬ν•˜λŠ” 것이 μ’€ 더 μ±…μž„μ΄ λͺ…ν™•ν•΄μ§ˆ 것 κ°™μŠ΅λ‹ˆλ‹€. 이 λ°©ν–₯λŒ€λ‘œ 진행해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

Copy link
Author

Choose a reason for hiding this comment

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

Finished μƒνƒœλ§Œ λ°›μ•„ μ •μ‚°ν•˜κΈ° λ³΄λ‹€λŠ”, ν”Œλ ˆμ΄μ–΄μ™€ λ”œλŸ¬μ—μ„œ 정보λ₯Ό λ°›μ•„, BettingResultλ₯Ό λ°˜ν™˜ν•˜λŠ” Enum을 μ •μ˜ν•˜μ—¬ κ·Έ μ•ˆμ—μ„œ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

각 μƒνƒœ λ‚΄μ—μ„œ μ •μ‚° κ·œμΉ™κΉŒμ§€ λͺ¨λ‘ λ‹΄λ‹Ήν•˜λŠ” κ²ƒλ³΄λ‹€λŠ”, ν•˜λ‚˜μ˜ μ •μ‚° 객체λ₯Ό λ§Œλ“€μ–΄μ„œ κ΄€λ¦¬ν•˜λŠ” 것이 μ’€ 더 응집도가 높은 λŠλ‚Œμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

return cards;
}

} No newline at end of file

Choose a reason for hiding this comment

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

파일 끝에 빈 쀄(trailing newline)이 μ—†μ–΄μš”.

POSIX ν‘œμ€€μ—μ„œλŠ” ν…μŠ€νŠΈ 파일이 κ°œν–‰ 문자둜 λλ‚˜μ•Ό ν•˜κ³ , Git diffμ—μ„œ \\ No newline at end of file κ²½κ³ κ°€ λœ¨λ©΄μ„œ diffκ°€ μ§€μ €λΆ„ν•΄μ Έμš”.

IntelliJ μ„€μ •μ—μ„œ Editor β†’ General β†’ Ensure every saved file ends with a line breakλ₯Ό μΌœλ‘λ©΄ μžλ™μœΌλ‘œ μ²˜λ¦¬λΌμš” πŸ‘

λ‹€λ₯Έ νŒŒμΌλ“€λ„ λ‹€ 확인 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.

Copy link
Author

Choose a reason for hiding this comment

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

λ§ˆμ§€λ§‰ λΉˆμΉΈμ— μœ μ˜ν•˜λŠ”λ°λ„ 빼먹게 λ˜λ„€μš”.
μ΄λ²ˆμ— intellij 섀정을 많이 λ°°μ›Œκ°€κ²Œ λ˜λ„€μš”. κ°μ‚¬ν•©λ‹ˆλ‹€.

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

class PlayerTest {

Choose a reason for hiding this comment

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

Q. 흐름을 νŒλ³„ν•˜λŠ” ν…ŒμŠ€νŠΈλŠ” μ–΄λ–»κ²Œ μž‘μ„±ν• μ§€κ°€ κ³ λ―Όμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

쒋은 κ³ λ―Όμ΄μ—μš”.

이런 흐름 ν…ŒμŠ€νŠΈκ°€ μ–΄λ €μš΄ κ²½μš°μ—λŠ”,
보톡 Controllerλ₯Ό 직접 ν…ŒμŠ€νŠΈν•˜λŠ” 것보닀
κ·Έ 흐름을 λ‹΄λ‹Ήν•˜λŠ” κ·œμΉ™μ„ ν…ŒμŠ€νŠΈ κ°€λŠ₯ν•œ 객체둜 ν•œ 단계 더 뢄리할 수 μžˆλŠ”μ§€ λ¨Όμ € 보게 λΌμš”.

예λ₯Ό λ“€μ–΄
"λ”œλŸ¬κ°€ λΈ”λž™μž­μ΄λ©΄ ν”Œλ ˆμ΄μ–΄μ˜ 행동을 λ©ˆμΆ”κ³  λ°”λ‘œ μ •μ‚°ν•œλ‹€"
λŠ” κ·œμΉ™μ΄ μ€‘μš”ν•˜λ‹€λ©΄,
이 κ·œμΉ™μ„ Controllerκ°€ μ•„λ‹ˆλΌ λ‹€λ₯Έ 객체가 맑도둝 λ§Œλ“€μ—ˆμ„ λ•Œ
훨씬 κ²€μ¦ν•˜κΈ° μ‰¬μ›Œμ§ˆ 수 μžˆκ±°λ“ μš”.

λ¬Όλ‘  Controller의 흐름 자체λ₯Ό ν™•μΈν•˜λŠ” ν…ŒμŠ€νŠΈλ„ κ°€λŠ₯ν•΄μš”.
ν…ŒμŠ€νŠΈμ—λŠ” λ‹¨μœ„ ν…ŒμŠ€νŠΈλ§Œ μžˆλŠ” 것이 μ•„λ‹ˆλ‹ˆκΉŒμš”.

λ‹€λ§Œ μ§€κΈˆ λ‹¨κ³„μ—μ„œλŠ” 흐름 전체λ₯Ό μ–΅μ§€λ‘œ ν…ŒμŠ€νŠΈν•˜λ € ν•˜κΈ°λ³΄λ‹€,
도메인 κ·œμΉ™μ΄ μΆ©λΆ„νžˆ 잘 λΆ„λ¦¬λ˜μ–΄ μžˆλŠ”μ§€,
κ΄€λ ¨ ν…ŒμŠ€νŠΈλ“€μ΄ 잘 λ§ˆλ ¨λ˜μ–΄ μžˆλŠ”μ§€λ₯Ό λ¨Όμ € λ³΄λŠ” 편이 더 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•΄μš”.
μ˜ˆμ™Έ 상황듀, 경계선 같은 것듀을 잘 μ»€λ²„ν•˜λŠ” 것도 ꡉμž₯히 μ€‘μš”ν•˜κ³ μš”.

κ²°κ΅­ 흐름도 도메인 κ°μ²΄λ“€μ˜ μƒν˜Έμž‘μš©μœΌλ‘œ λ§Œλ“€μ–΄μ§€λŠ” κ±°λΌμ„œ,
도메인이 λ‹¨λ‹¨ν•΄μ§ˆμˆ˜λ‘ 흐름 ν…ŒμŠ€νŠΈλ„ 훨씬 μ‰¬μ›Œμ§€κ±°λ“ μš”.

μœ„μ— 남긴 μ½”λ©˜νŠΈλ“€, λ‚˜λ¦„ λ…€λ…•μ˜ 이 μ§ˆλ¬Έμ„ κ³ λ €ν•΄μ„œ μž‘μ„±ν•΄λ΄€μ–΄μš”.
ν•˜λ‚˜μ”© μ •λ¦¬ν•˜λ‹€ 보면, μžμ—°μŠ€λŸ½κ²Œ μ§€κΈˆλ³΄λ‹€ 더 ν…ŒμŠ€νŠΈν•˜κΈ° μ‰¬μš΄ ꡬ쑰둜 κ°€κΉŒμ›Œμ§ˆ κ±°μ˜ˆμš” . :)

Copy link
Author

Choose a reason for hiding this comment

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

μš°μ„  도메인과, μ„œλΉ„μŠ€, 컨트둀러의 μ±…μž„μ„ μ’€ 더 λͺ…ν™•νžˆ ν•΄λ³΄λŠ” 과정이 더 μ€‘μš”ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.
도메인 μͺ½μ—μ„œ ν…ŒμŠ€νŠΈν•˜κΈ°κ°€ μ–΄λ €μš°λ©΄, 이게 μ±…μž„μ΄ λ„ˆλ¬΄ λ§Žμ€ 단계가 μ•„λ‹Œκ°€ 생각을 ν•˜κ³ ,
이λ₯Ό μ²˜λ¦¬ν•˜λŠ” 곳을 뢄리해야겠닀고 λŠκ»΄μ‘ŒμŠ΅λ‹ˆλ‹€.

λ˜ν•œ μ„œλΉ„μŠ€λŠ”, 도메인을 직접 μ‘°μž‘ν•˜κΈ° λ³΄λ‹€λŠ”, 도메인에 λ§‘κΈ°κ³ , 결과만 λ°˜ν™˜ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€κ³  생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.

- Listλ₯Ό λ§€κ°œλ³€μˆ˜λ‘œ λ°›λŠ” μƒμ„±μžλŠ” ν…ŒμŠ€νŠΈ μ½”λ“œμ—μ„œλ§Œ μ‚¬μš©λ˜λ―€λ‘œ 이λ₯Ό μ‚­μ œ
- ν…ŒμŠ€νŠΈ μ½”λ“œμ—μ„œλŠ”, makeHandCardsλΌλŠ” λ§€μ„œλ“œλ₯Ό ν™œμš©ν•˜μ—¬, μ˜λ„ν–ˆλ˜ λŒ€λ‘œ λ™μž‘ν•˜λŠ” HandCardsλ₯Ό λ§Œλ“€λ„λ‘ ꡬ성
- 각 μƒνƒœμ— κ΅¬ν˜„λœ earningsRate ν•¨μˆ˜ μ‚­μ œ
- GameResultμ—μ„œ 이λ₯Ό κ³„μ‚°ν•˜λ„λ‘ κ΅¬ν˜„
- Battingμ—μ„œ betting으둜 μ˜€νƒˆμž μˆ˜μ •
- Participantμ—μ„œ λ²„μŠ€νŠΈμ™€ λΈ”λž™μž­ νŒλ³„ν•˜λ„λ‘ μˆ˜μ •
- Status에 isRunning, isBust, isBlackJack λ§€μ„œλ“œ μΆ”κ°€
- Participantμ—μ„œ νŒμ •μ€ 직접 μΉ΄λ“œλ₯Ό λ“€κ³ μ˜€μ§€ μ•Šκ³  status둜 직접 νŒλ‹¨ν•˜λ„λ‘ λ³€κ²½
- PlayerHandScoreDtoμ—μ„œ ν”Œλ ˆμ΄μ–΄μ—μ„œ 직접 μ ‘κ·Όν•˜λ„λ‘ λ³€κ²½
- BettingCalculateService::getBettingResult
- GameController::playerBetting
- InputBettingParser::parseBettingMoney
- Output::printBettingResults
- endGameImmediatelyλŠ” μ„œλΉ„μŠ€μ—μ„œ μ²˜λ¦¬ν•˜λ„λ‘ λ³€κ²½
- Playersμ—μ„œ μ‹€μ§ˆμ μœΌλ‘œ, μ „λΆ€ λ©ˆμΆ”λ„λ‘ μ§€μ‹œν•˜κ³ , Serviceμ—μ„œλŠ” 이λ₯Ό ν˜ΈμΆœν•˜λŠ” ν˜•νƒœλ‘œ μˆ˜μ •
- 초기 μΉ΄λ“œ 값을 λ°°λΆ„ν•˜λŠ” 것도 Playersμ—μ„œ μ²˜λ¦¬ν•˜λ„λ‘ μˆ˜μ •
- BettingResult둜 이름 λ³€κ²½
- Players νŒ¨ν‚€μ§€ participant둜 λ³€κ²½
- λΆ€λ™μ†Œμˆ«μ  방식보닀, μ •μˆ˜λ‘œ μ²˜λ¦¬ν•œ ν›„ 100으둜 λ‚˜λˆ„λŠ” 것이 μ’€ 더 μ •ν™•ν•  것 κ°™μ•„μ„œ νŒλ‹¨ (μ†Œμˆ˜μ  버림 μ—°μ‚°)
- BettingResultTestμ—μ„œ earningRateλ₯Ό κ°€μ Έμ™€μ„œ κ³„μ‚°ν•˜κΈ° λ³΄λ‹€λŠ”, κ·Έ 자체의 계산에 λŒ€ν•΄μ„œ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰
- BettingResultTest의 μ€‘λ³΅λœ 객체 생성에 λŒ€ν•΄μ„œ @beforeeach μ‚¬μš©
- 곡백 μˆ˜μ •
- λ§€κ°œλ³€μˆ˜λ‘œ bettingResultλ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½
- Profit λ‚΄μ—μ„œ μˆ˜μ΅μ„ κ³„μ‚°ν•˜λŠ” ꡬ쑰둜 μˆ˜μ •
- μΉ΄λ“œλ‘œ String을 λ§Œλ“œλŠ” μž‘μ—…μ΄ μ€‘λ³΅λ˜μ–΄ processHandCards둜 쀑볡 둜직 제거
- 각각 μˆ˜μ΅μ€ μ•„λž˜μ™€ κ°™λ‹€.
- 이겼을 λ•Œ 1λ°°
- 비겼을 λ•Œ 0λ°°
- μ‘Œμ„ λ•Œ -1λ°°
- λΈ”λž™μž­μœΌλ‘œ 이겼을 λ•Œ 1λ°°
- 1000원 λ‹¨μœ„λ‘œ λ² νŒ…ν•  수 μžˆλ„λ‘ μ„€μ •
- μ΅œλŒ€ λ² νŒ… μ•‘μˆ˜λŠ” 1μ–΅μ›μœΌλ‘œ μ„€μ •
- trim을 ν†΅ν•΄μ„œ μ•žλ’€μ˜ 곡백을 제거
- μˆ«μžκ°€ μ•„λ‹Œ λ‹€λ₯Έ 값이 λ‚˜μ™”μ„ λ•Œ, 숫자만 μž…λ ₯해달라고 λ©”μ‹œμ§€ λ³€κ²½
- 각 값에 λŒ€ν•΄μ„œ ν…ŒμŠ€νŠΈ μΆ”κ°€
- λ‹€μŒ ν…ŒμŠ€νŠΈ 전이λ₯Ό μ–΄λ–»κ²Œ ν•˜λŠ”μ§€μ— λŒ€ν•΄ ν…ŒμŠ€νŠΈ
- 일어날 수 μ—†λŠ” 행동에 λŒ€ν•œ μ˜ˆμ™Έλ₯Ό 잘 λ°˜ν™˜ν•˜λŠ”μ§€μ— λŒ€ν•΄ ν…ŒμŠ€νŠΈ
- λ² νŒ… κΈˆμ•‘ μž…λ ₯ λ°›λŠ” κΈ°λŠ₯ κ΅¬ν˜„ μ™„λ£Œ 반영
- ν”„λ‘œκ·Έλž˜λ° μš”κ΅¬μ‚¬ν•­ 반영
- λ² νŒ… κΈˆμ•‘ μž…λ ₯ λ°›λŠ” κΈ°λŠ₯ κ΅¬ν˜„ μ™„λ£Œ 반영
- ν”„λ‘œκ·Έλž˜λ° μš”κ΅¬μ‚¬ν•­ 반영
- λ”œλŸ¬μ˜ 합이 17일 λ•Œ μΉ΄λ“œλ₯Ό λ°›μ§€ μ•ŠλŠ” κ²½μš°μ— λŒ€ν•΄μ„œ ν…ŒμŠ€νŠΈ
- 합이 21이더라도 μΉ΄λ“œκ°€ μ„Έμž₯일 λ•ŒλŠ” λΈ”λž™μž­μœΌλ‘œ κ³„μ‚°ν•˜μ§€ μ•ŠλŠ” 것에 λŒ€ν•œ ν…ŒμŠ€νŠΈ
@JunHyung1206
Copy link
Author

JunHyung1206 commented Mar 15, 2026

μ•ˆλ…•ν•˜μ„Έμš” 피케이

μžμ„Έν•œ 리뷰 κ°μ‚¬ν•©λ‹ˆλ‹€.
리뷰λ₯Ό λ³΄λ©΄μ„œ, μ–΄λ–»κ²Œ ν•˜λ©΄ μ’€ 더 μ±…μž„μ΄ λͺ…ν™•ν•œ μ½”λ“œλ₯Ό λ§Œλ“€ 수 μžˆλŠ”μ§€ μΈμ‚¬μ΄νŠΈλ₯Ό 많이 얻은 것 κ°™μŠ΅λ‹ˆλ‹€.
μ΄λ²ˆμ— 객체에 λŒ€ν•΄μ„œ μ’€ 더 μ±…μž„μ„ μ–΄λ–»κ²Œ 뢄리할 수 μžˆλŠ”κ°€μ— λŒ€ν•΄μ„œ 많이 κ³ λ―Όν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
μ›λž˜λŠ” λ‹Ήμ—°ν•˜κ²Œ ν–ˆλ˜ 것도, 이걸 μ–΄λ””λ‹€κ°€ μž‘μ„±ν•˜λŠ”κ²Œ μ’‹μ„κΉŒ μƒκ°ν•΄λ³΄λŠ” 과정이 μƒλ‹Ήνžˆ μ–΄λ €μ› μŠ΅λ‹ˆλ‹€.
아직은 κ·ΈλŸ¬ν•œ 사고과정이 μ’€ 더 ν•„μš”ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.
이번 고민의 흔적듀을 κΈ°λ‘ν•΄λ³΄λ©΄μ„œ, λ‹€μŒ μ‚¬μ΄ν΄μ—μ„œλŠ” μ’€ 더 μ›ν™œν•˜κ³  κΉ”λ”ν•˜κ²Œ μ§„ν–‰ν•˜λ„λ‘ λ…Έλ ₯ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ‹€μ‹œν•œλ²ˆ κ°μ‚¬ν•©λ‹ˆλ‹€.

μ•„λž˜λŠ” 리뷰 λ°˜μ˜μ‚¬ν•­μž…λ‹ˆλ‹€.

리뷰 λ°˜μ˜μ‚¬ν•­

수읡λ₯  계산 λ‹΄λ‹Ή 객체 뢄리

  • Status의 earningRate μ‚­μ œ
  • BettingResultκ°€ 수읡λ₯ μ„ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ 관리

Service 및 Players의 μ±…μž„ 뢄리

  • μ„œλΉ„μŠ€μ—μ„œλŠ” Playersμ—μ„œ λ©ˆμΆ”λ„λ‘ μ§€μ‹œ
  • μ‹€μ œλ‘œ stayλ₯Ό ν•˜λŠ” 것은 일급 μ»¬λ ‰μ…˜μΈ Playersκ°€ λ‹΄λ‹Ή
  • 초기 μΉ΄λ“œλ₯Ό λ°›λŠ” 것도 Playersκ°€ ν•˜λ„λ‘ μˆ˜μ •

λˆμ— λŒ€ν•œ κ·œμΉ™ μΆ”κ°€

  • BlackJack일 λ•Œ 1.5λ°°λ₯Ό ν•˜κΈ° λ•Œλ¬Έμ—, 이λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ°©μ•ˆμ΄ ν•„μš”
  • λ² νŒ… κΈˆμ•‘ λ‹¨μœ„λ₯Ό 1000μ›μœΌλ‘œ μ„€μ •ν•˜μ—¬ ν•΄κ²°, (1.5λ°°λ₯Ό ν•˜λ”λΌλ„ μ •μˆ˜λ‘œ λ‚˜λˆ„μ–΄λ–¨μ–΄μ§)

돈 μž…λ ₯에 λŒ€ν•œ 처리 및 ν…ŒμŠ€νŠΈ μΆ”κ°€

  • trim()처리
  • 곡백이 ν¬ν•¨λœ μˆ«μžμ— λŒ€ν•΄μ„œ νŒŒμ‹±μ΄ λ˜λŠ”μ§€ ν…ŒμŠ€νŠΈ
  • μˆ«μžκ°€ μ•„λ‹Œ λ‹€λ₯Έ 문자의 μž…λ ₯에 λŒ€ν•œ ν…ŒμŠ€νŠΈ
  • μœ νš¨ν•˜μ§€ μ•Šμ€ μˆ«μžμ— λŒ€ν•œ ν…ŒμŠ€νŠΈ

μƒνƒœ 전이에 λŒ€ν•œ ν…ŒμŠ€νŠΈ μΆ”κ°€

  • 각 μƒνƒœκ°€ μ˜¬λ°”λ₯΄κ²Œ μ „μ΄λ˜λŠ”μ§€ ν…ŒμŠ€νŠΈ
  • 각 μƒνƒœμ—μ„œ λ™μž‘ν•˜μ§€ 말아야할 ν•¨μˆ˜κ°€ λ™μž‘ν–ˆμ„ λ•Œ 였λ₯˜κ°€ λ°˜ν™˜λ˜λŠ”μ§€μ— λŒ€ν•œ ν…ŒμŠ€νŠΈ

κ·Έμ™Έ

  • List<Card>λ₯Ό List<String>둜 λ³€ν™˜ν•˜λŠ” μœ ν‹Έ 클래슀 μΆ”κ°€

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.

4 participants