What - How (2)
What μ΄λ κ°λ
μ μΈ μ©μ΄λ‘ μ€λͺ
? ν΄μΌνλ€.
hasCardBoard() μ΄λ°κ±Έλ‘ λ§λ€λ©΄ Howμ μ°μ₯μ μμ΄ λ μ μμ (μ΄ λΆλΆμ΄ λ€μΌλ©΄μ μ΄λ €μ λ λΆλΆμ΄κ³ , λ€μ μκ°νκ² νλ λΆλΆ. μ¬νκΉμ§ if(ass == 1) μ΄λ° νμλ§ λ¨μ΄λ‘ λ°κΎΈλ― νλλ°,
ν¬κ² μκ°νμ§ μκ³ νλ κ² κ°μ. λΆλͺ
μ λ° μμΌλ‘ λ°κΎΌ κ² μμ κ²μ. μμΌλ‘λ κ·Έ λΆλΆμ μκ°νλ©΄μ μ΅λν μΆμμ (?) μΌλ‘ μ΄λ¦μ μ§μ μ μκ² ν΄μΌκ² μ)
–> κ²°λ‘ : μ΄λ¦μ μ μ§μ(?!)
- What κ³Ό How λ₯Ό μ λΆλ¦¬νλ λ°©λ²μ
- Extract Method
- static Method
1μ κ²½μ°λ λ©μλ μΆμΆ μ체λ λλ¦ νλ€κ³ μκ°νλ€. νμ§λ§, IntelliJ μμ λ©μλ μΆμΆνλ λ°©λ²μ μμΈν λͺ¨λ¦ -> μ΄ λΆλΆ μμΈν μμμ λ€μλΆν°λ λ¨μΆν€λ₯Ό ν΅ν΄ λ©μλλ₯Ό μΆμΆν μ μλλ‘!
static Method μ κ²½μ°λ μ£Όλ‘ Util ν΄λμ€ κ°μ κ³³μμ λ³Έ κ²μΈλ°, κ·Έλ° κ±΄κ°??
What μ΄ λ΄ν¬νλ κ²?
ꡬνμ μκ°νμ§ μλ κ².
ꡬννλ €νλ κ²μ νμ€μ μΈ(κ°λ
μ μΈ?) λ‘μ§
Ex) μ£Όλ¬Έμ΄λΌλ Aggregate κ° μμ λ MemberId λ μμ±μ΄ μλ μ μλ€. -> λλ©μΈμ μΌλ‘ μκ°νλ©΄ MemberId λ³΄λ¨ μ£Όλ¬Έν νμμ΄ λ¨, λ¬Όλ‘ μ£Όλ¬Έν νμμ MemberId λ‘ ννν κ°λ₯μ±λ μμ (μμ§λ§ κ΅³μ΄..?)
κ²°κ΅ What μ?
μΆμνλ₯Ό κ°λ₯νκ² νλ©°, μλ―Έλ₯Ό λΆμ¬ν΄μ€λ€.
- μμ λ°±μ§μΈ μνμμ λ€μμΌλ©΄ μ€νλ € μ΄ν΄κ° λΉ λ₯΄κ² λμ κ² κ°λ€.
κΈ°μ‘΄μ ꡬννλ ꡬ쑰(?) λ₯Ό μκ°νλ©΄μ μ, μ΄κ² μ¬κΈ°μ 맀μΉνλ©΄ λκ² κ³ , μ 건 μ κΈ°μ 맀μΉν μ μκ² λ€ λΌκ³ μκ°νλλ, Repo μμμ΄ λμ€κ³ νλ©΄μ λ ν·κ°λ € μ§κ³ μλ€.
Infra μͺ½μ Mapper νΉμ XML μͺ½μΌλ‘ μκ°νλλ°, μ€λͺ μ λ£λ€λ³΄λ©΄ λ μλκ±° κ°κ³ , κ³μ λ£λ€λ³΄λ©΄ μ΄λΌ μΈλΆ ν΅μ μΈκ°? DB μ§μ μΈκ°? κ·Έλ¬λ©΄ λ΄κ° μκ°νλ λΆλΆμ μ΄λλ‘ μκ°ν΄μΌ νλκ±°μ§? μλ¬Έμ΄ κ³μλλλ°…
κΈ°λ³Έμ΄ λΆμ€νλ λ κ·Έλ°κ² κ°λ€. μμ Back To Basic μΈκ°..?