[μ°μν ν ν¬μ½μ€] ν리μ½μ€ 2μ£Όμ°¨ νκ³
π λμ ν΄λ΄€μ΄μ
- git commit template νλ¬κ·ΈμΈμ μ¬μ©νμ¬ λμ± μλ―Έ μλ μ»€λ° λ©μμ§λ₯Ό μμ±νλ €κ³ νμ΄μ
- μμ±μλ§λ€ ν΄λμ€λ€μ΄ μλ―Ένλ λ°μ κ²μμ νλ¦μ΄ λ€μν κ²μ΄λΌκ³ μμλμ΄ κ²μμ νλ¦μ μ 리ν΄λ΄€μ΄μ
- κΈ°λ₯μ ꡬν μ¬νμ μ 리νλ©° νμΌμ λλ ν 리λ ν¨κ» ꡬμν΄λ³΄λ €κ³ λ Έλ ₯νμ΄μ
- μΌν μ°μ°μλ₯Ό μ°μ§ μμμ΄μ
μμ±ν κ²μ νλ¦
1. μ»΄ν¨ν°κ° λλ€ν μ«μλ₯Ό μ΄μ©ν΄ λ΅ μμ±νκΈ°
1-1. μ ν¨μ± κ²μ¬νκΈ° (ν΅κ³Όλ μμλ§ λμ΄κ°κΈ°)
2. (문ꡬ μΆλ ₯) μ«μ μΌκ΅¬ κ²μμ μμν©λλ€.
3. (문ꡬ μΆλ ₯) μ«μλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ
4. μ¬μ©μκ° μ«μλ₯Ό μ
λ ₯νκΈ°
4-1. μ ν¨μ± κ²μ¬νκΈ° (ν΅κ³Όλ μμλ§ λμ΄κ°κΈ°)
5. λ΅κ³Ό μ¬μ©μμ μ
λ ₯κ°μ λΉκ΅ν΄ κ²μμ κ²°κ³Ό μΆλ ₯νκΈ°
5-1. μ λ΅μΈμ§ νμΈνκΈ°
- μ λ΅μΈ κ²½μ° 7λ²μΌλ‘
- μ λ΅μ΄ μλ κ²½μ° ννΈλ₯Ό μΆλ ₯νκ³ 6λ²μΌλ‘
6. λ€μ μ¬μ©μμ μ«μλ₯Ό μ
λ ₯λ°κΈ°
- 2λ²μΌλ‘ λμκ°μ λ°λ³΅νκΈ°
7. (문ꡬ μΆλ ₯) 3κ°μ μ«μλ₯Ό λͺ¨λ λ§νμ
¨μ΅λλ€! κ²μ μ’
λ£
8. (문ꡬ μΆλ ₯) κ²μμ μλ‘ μμνλ €λ©΄ 1, μ’
λ£νλ €λ©΄ 2λ₯Ό μ
λ ₯νμΈμ.
9. μ¬μ©μμκ² κ²μ μ§ν μ¬λΆ μ
λ ₯λ°κΈ°
9-1. 1μΌ κ²½μ° 1λ²μΌλ‘ λμκ°κΈ°
9-2. 2μΌ κ²½μ° 10μΌλ‘
10. κ²μμ μ’
λ£νκΈ°
[Git] μ»€λ° λ©μμ§ κ·μ½ μ 리 (the AngularJS commit conventions)
the AngularJS commit conventionsλ₯Ό λ²μν κ²μ λλ€. 곡λΆνλ©΄μ λ²μνμ΅λλ€. μ λ§λλ‘ λ²μλ λΆλΆμ΄λ μ€μμ΄ μμ μ μμ΅λλ€.
velog.io
π μ§μ€ν΄λ΄€μ΄μ
- μΊ‘μνμ μ§μ€ν΄λ΄€μ΄μ
- λ³μλͺ κ³Ό λ©μλλͺ μ μ μ€ν κ³ λ―Όνμ΄μ
- κ° ν΄λμ€μ μν μ λͺ νν νκ³ μ λ Έλ ₯νμ΄μ
- μ΄μ΄νκ³ μλ―Έ μλ ν μ€νΈμ½λλ₯Ό μ§κ³ μ λ Έλ ₯νμ΄μ
π ν΄λμ€λ³ μν μ 리
Answer : AnswerGeneratorκ° μμ±ν λ΅μ μ μ₯ λ° μ‘°ν
Game : νλμ κ²μ κ°μ²΄ / κ²μ νλμ νλ¦μ κ΄λ¦¬ λ° μνλ₯Ό μ μ₯
Judge : μ¬μ©μμ μ λ ₯κ°μ΄ λ³ΌμΈμ§, μ€νΈλΌμ΄ν¬μΈμ§, λ΅μΈμ§ νμΈ λ° νλ¨
AnswerGenerator : μ€λ³΅ μλ λμ μμ±μ ν΅ν λ΅ λ°°μ΄ μμ±
Constants : μ μμμ μ£Όλ‘ μ¬μ©λλ μμλ€μ μ μ
InputValidator : μ λ ₯κ°μ΄ μ ν¨νμ§ νμΈ
UserInputAdapter : μ¬μ©μμ μ λ ₯κ°μ μν©μ λ°λΌ μλ§κ² λ³ν
GameView : 문ꡬ μΆλ ₯ λ° μ¬μ©μ μ λ ₯κ° λ°μ
Score : μ μ μ μ₯
π κ³ λ €ν μ§μ λ€
1. User / Computer / Answer ν΄λμ€λͺ
- ν΄λμ€λͺ μ User κ³Ό Computer (μ°Έκ°μλΌλ μλ―Έμμ) λ‘ ν΄λμ€λͺ μ μ§μμ§, Answer λ‘ λκ³ μ¬μ©μμ μ λ ₯κ°μ λ°λ‘ ν΄λμ€λ₯Ό λμ§ μμμ§μ λνμ¬ κ³ λ―Όνμ΅λλ€. κ²°κ³Όμ μΌλ‘λ νμλ₯Ό μ ννλλ°, κ·Έ μ΄μ λ μ μμ κ²½μ°μλ User κ° μ λ ₯ν μ«μ, Computer κ° μ μ ν λ΅μ λ± ν΄λμ€ μμ²΄λ‘ μ«μλ₯Ό λνλ΄μ§ μλλ€λ μκ°μ΄ λ€μ΄μμμ΅λλ€.
2. Constants λ‘ μμλ₯Ό κ΄λ¦¬
- μ μμ μΌλ‘ μ¬μ©λλ μμλ€μ΄ μμμ΅λλ€. μλ₯Ό λ€μ΄ μ ν¨ν λ°°μ΄μ κΈΈμ΄, μ λ΅μΌλ‘ νλ¨λλ μ€νΈλΌμ΄ν¬μ κ°μ, μ«μμ λ²μ λ±μ΄ μμμ΅λλ€. λ°λΌμ μ΄λ₯Ό λ§€λ² ν΄λμ€ λ΄μ μμλ‘ μ¬μ©ν μ§ μ μ μμλ‘ μ¬μ©ν μ§ κ³ λ―Όνλ€κ° λ§€λ² μ¬μ©λλ μμλ€μ κ²½μ°μλ λ°λ‘ ν΄λμ€λ₯Ό μμ±ν΄ μ μ μμλ‘ μ μΈνλ κ²μ΄ ν¨μ¨μ μ΄λΌκ³ μκ°ν΄ λ°λ‘ λΊμ΅λλ€.
3. AnswerGenerator μ Answerμ λΆλ¦¬
- μ²μμλ Answer ν΄λμ€ λ΄λΆμ λλ€ + μ€λ³΅ μλ μ«μλ€μ μ΄μ©ν΄ λ°°μ΄μ λ§λλ λ©μλλ₯Ό λ°λ‘ λμμ΅λλ€. κ·Έλ¬λ μ΄λ κ² λ κ²½μ°, μ νΈλ¦¬ν°μ μΈ μ«μλ₯Ό μμ±νλ λΆλΆκ³Ό Answer μ λ΅ ν΄λμ€μ κ²°ν©μ΄ κ°ν΄μ§ κ²μ΄λΌκ³ μμν΄ μ΄λ₯Ό λμ¨νκ² ν΄μ€μΌκ² λ€κ³ μκ°νμ΅λλ€. λ°λΌμ utils/AnswerGenerator ν΄λμ€λ₯Ό λ°λ‘ λκ² λμμ΅λλ€. λν, μ΄λ κ² νκ² λ μ΄μ λ λλ€ν μ«μμ λν ν μ€νΈλ₯Ό μ΄λ»κ² μ§νν΄μΌ ν κΉ κ³ λ―Όνλ€κ° μ°Ύμλ³Έ κ²μκΈμμ λλ€ν μλ₯Ό μμ±νλ κ°μ²΄λ₯Ό λ§λ€κ³ , μ΄λ₯Ό ν΄λμ€μ μ£Όμ μν€λλ‘ ν μ½λλ₯Ό μ°Έκ³ νκ² λμμ΅λλ€. μ΄κ° λ ν μ€νΈνκΈ°μλ μ’μ μ½λλΌκ³ μκ°ν΄ λ΄λ¦° κ²°μ μ΄μμ΅λλ€.
4. Game κ³Ό UserInputAdapter μ λΆλ¦¬
- μ²μμλ Game ν΄λμ€ λ΄λΆμ μ¬μ©μμ μ λ ₯κ°μ λ¬Έμμ΄μμ λ°°μ΄λ‘ λ³ννλ changeUserInputToArray λΌλ λ©μλλ₯Ό λμμ΅λλ€. κ·Έλ¬λ Game ν΄λμ€μ μν μ λ°μ Έλ΄€μ λ, νλμ κ²μμ κ΄λ¦¬νκ³ μνλ₯Ό μ μ₯νλ Game ν΄λμ€μμ λ¬Έμμ΄μμ λ°°μ΄λ‘ λ³ννλ μν μ νλ κ²μ λ§μ§ μλ€κ³ μκ°νμ΅λλ€. λν, μ λ ₯μ λ°κ³ 문ꡬλ₯Ό μΆλ ₯νλ GameView μμ μ΄λ₯Ό μ²λ¦¬νλ κ² μμλ λ§μ§ μλ€κ³ μκ°νμ΅λλ€. μ΄λ μ νΈλ¦¬ν°μ μΈ μΈ‘λ©΄μ΄ λ κ°νλ€κ³ μκ°νκΈ°λ νμ΅λλ€. λ°λΌμ utils/UserInputAdapter λΌλ ν΄λμ€λ₯Ό λμ΄ μ¬μ©μμ μ λ ₯κ°μ μν©μ λ°λΌ μλ§κ² λ³νν μ μλλ‘ νμ΅λλ€. λν decideRestart λ©μλ λ΄λΆμμ μ체μ μΌλ‘ Integer.parseInt λ₯Ό μ΄μ©ν΄ λ¬Έμμ΄μ μ μλ‘ λ³ννμμλλ° μ΄ μμλ λ°λ‘ λ©μλλ₯Ό λμ΄ μ²λ¦¬ν΄μ£Όμμ΅λλ€. μ΄λ κ² νλ λ©μλμ μν μ΄ λΆλ¦¬λμμ΅λλ€.
5. Score ν΄λμ€μ μμ±
Score ν΄λμ€λ₯Ό μμ±νκΈ° μ΄μ μλ Game ν΄λμ€ λ΄λΆμμ strike μ ball μ νμλ₯Ό μ§μ νΈμΆνμ¬ κ³μ°νκ³ ννΈλ₯Ό λ°ννλλ‘ νμ΅λλ€. κ·Έλ¬λ μ΄λ κ² λ κ²½μ° μΊ‘μνκ° μ§μΌμ§μ§ μμ κ²μ μ°λ €νμκ³ , μ΄μ λ°λΌ μ μλ₯Ό μ μ₯νλ Score κ°μ²΄λ₯Ό μμ±νμ¬ ν΄λΉ κ°μ²΄ λ΄λΆμμ μ μ κ΄λ ¨ λ‘μ§μ μ²λ¦¬ν μ μλλ‘ νμ΅λλ€.
π μκ°λ¬Έ
μ λ² μ£Όμ°¨ λ―Έμ μ νλ©΄μ ν¨μλ₯Ό μ΅λν λΆλ¦¬νκΈ° μν΄μλ νλμ λ©μλκ° νλμ μν μ νλ κ²μ μ§μ€νλ©΄ λλ€λ κ²μ κΉ¨λ¬μ κ²½νμ΄ μμ΅λλ€. λ°λΌμ μ΄λ²μ£Όμ°¨μλ μ΅λν νλμ λ©μλμ μ± μμ κ°λ³κ² κ°μ Έκ°λ©΄μλ νμ€ν μ± μμ μ§ μ μλλ‘ νμ΅λλ€. μλ₯Ό λ€μ΄, μ¬μμ μ¬λΆλ₯Ό μ λ ₯λ°λ λ©μλμμ μ¬μ©μμ μ λ ₯κ°μ λ¬Έμμ΄μμ μ μλ‘ νμ±νλ μν κΉμ§ νμλλ° νμ±νλ μν μ νλ λ©μλλ₯Ό μΆμΆν΄ μ¬μμ μ¬λΆλ₯Ό μ λ ₯λ°λ λ©μλμ μν μ κ°λ³κ³ λͺ ννκ² νμμ΅λλ€. μ΄μ μ§μ€νλ€λ³΄λ©΄ ν μ€νΈμ½λ μμλ λΉκ΅μ μννκ² μ§€ μ μλ€λ κ²μ κΉ¨λ¬μμ΅λλ€. ν μ€νΈμ½λλ₯Ό μ§λ κ³Όμ μμ μ΄λ€ λ©μλμ λνμ¬ κ²μ¦ν κ²μΈμ§ κ³ λ―Όνλ€λ³΄λ©΄ κ²μ¦ν΄μΌ νλ μν μ΄ λͺ νν νλλ‘ μ’νμ ΈμΌμ§λ§ ν μ€νΈμ½λλ₯Ό μμ½κ² μ§€ μ μμμ΅λλ€. μ¬λ¬ μν μ ν΄μΌ νλ κ²½μ° μ΄λ€ λΆλΆμ μ΄μ μ λμ΄ ν μ€νΈλ₯Ό ν΄μΌ ν μ§ νΌλμ΄ μκΈ° λλ¬Έμ λλ€. μ΄ κ³Όμ μ ν΅ν΄ μ κ° μ§μ λλ ν μ€νΈ μ½λμ μν λ€μ λ€μκ³Ό κ°μ΅λλ€.
1. λ©μλμ μν μ λν΄ κ³ λ―Όν΄λ³Ό μ μμ΅λλ€. μμ μΈκΈν κ²κ³Ό κ°μ΄ κ·Έ μν μ΄ λͺ ννκ² νλμΈμ§, μ΄μ λ°λΌ λ©μλλͺ μ΄ μ΄λ₯Ό μ λνλ΄κ³ μλμ§λ λΆκ°μ μΌλ‘ κ³ λ―Όν μ μμμ΅λλ€
2. λ©μλ κ°μ κ²°ν©λμ λν΄ κ³ λ―Όνκ² λ©λλ€. λ©μλ κ°μ κ²°ν©λκ° κ°ν κ²½μ°μλ μ λ» ν μ€νΈ μ½λλ₯Ό μ§κΈ°κ° μ΄λ €μ μ΅λλ€. λ€λ₯Έ λ©μλμ λν ν μ€νΈ μμλ ν¨κ» κ³ λ―Όν΄μΌ νκΈ° λλ¬Έμ λλ€. μ΄λ₯Ό ν λλ‘ κ²°ν©λλ₯Ό λμ¨νκ² νλ λ°©λ©΄μ κ³ λ―Όν μ μμμ΅λλ€
3. μ½λ μμ μμ μ§νκ° λ©λλ€. μ½λλ₯Ό μμ νκ³ λ§€λ² μ΅κ΄μ μΌλ‘ κΈ°μ‘΄μ ν μ€νΈ μ½λλ₯Ό λλ €λ΄€μ΅λλ€. νλμ ν΄λμ€μμ μμ λ λ©μλκ° λ€λ₯Έ ν΄λμ€μ ν μ€νΈμ½λμμ μ€λ₯λ₯Ό λ°μμν¨λ€λ©΄ μμ λ λ©μλκ° λ€λ₯Έ ν΄λμ€μμλ μ¬μ©λμλ€λ μλ―Έμ΄λ―λ‘ μ΄λ λΆλΆμ ν¨κ» μμ ν΄μΌ ν μ§ μμ½κ² νμ ν μ μκ³ , μ€μλ₯Ό λ°©μ§ν μ μμμ΅λλ€.
μ΄λ₯Ό λ°νμΌλ‘ λ©μλλ₯Ό μ§€ λμ 무μμ κΈ°μ€μΌλ‘ κΈ°λ₯μ λΆλ¦¬ν΄μΌ ν μ§, λν, ν¨μλͺ κ³Ό ν΄λμ€λͺ μ λ€λ°©λ©΄μΌλ‘ κ³ λ―Όν΄λ³΄μμ΅λλ€. μ°Έμ¬μλΌλ μλ―Έμμ User κ³Ό Computer λ‘ μ΄λ¦ μ§μμ§, μ«μ μΈ‘λ©΄μ λ μ§μ€νμ¬ Answer κ³Ό UserInput μ΄λΌλ ν΄λμ€λ₯Ό μμ±ν μ§ κ³ λ―Όνμ΅λλ€. μ λ νμλ‘ μ ννλλ° κ·Έ μ΄μ λ μ‘°κΈ λ μ«μλΌλ μλ―Έλ₯Ό λ΄κΈ° μν΄μμμ΅λλ€.
λν μ΄λ² μ£Όμ°¨μλ getter μ setter λ₯Ό λμ§ μκΈ° μν΄ μ²μμΌλ‘ μ μμ μνλ₯Ό λνλ΄λ enum μ μ¬μ©ν΄λ΄€μ΅λλ€. λ³Όκ³Ό μ€νΈλΌμ΄ν¬ νμλ₯Ό μ§μ νλ¨νλ κ²μ΄ μλλΌ μνλ‘ μ μ₯νκ³ μ΄μ λ°λΌ λ°νκ°μ λ€λ₯΄κ² νλ κ²μΌλ‘ κ°μ ν΄λ΄€μ΅λλ€.
μ΄λ² μ£Όμ°¨ λ―Έμ μ ν΅ν΄μ λ§μ μ΄λ €μκ³Ό μ’μ κ°μ λκΌμ§λ§, 2μ£Όμ°¨ λ―Έμ μλ΄μ μ°μ¬ μλ λλ‘ μ΅λν μ μ κ³ ν΅κ³Ό μ’μ μ μλ κ·Έλλ‘ λ°μλ€μ΄κ³ λ°°μΈ μ μ μ°Ύκ³ μ±μ₯ν΄ λκ°λ€λ μκ°μΌλ‘ μ¦κΈ°κ³ μ λ Έλ ₯νκΈ°μ λ§μ‘±ν©λλ€. μ΄λ² μ£Όλ λ§μ μ±μ₯μ μ΄λ£¬ ν μ£Όμμ΅λλ€.