2023. 9. 25. 15:44γκΈ°μ μμ /Clean Code
μλλ₯Ό λΆλͺ ν λ°νλΌ p.22
μ’μ μ΄λ¦μ μ§μΌλ €λ©΄ μκ°μ΄ 걸리μ§λ§ μ’μ μ΄λ¦μΌλ‘ μ μ½νλ μκ°μ΄ ν¨μ¬ λ λ§λ€.
κ·Έλ¬λ―λ‘ μ΄λ¦μ μ£ΌμκΉκ² μ¬ν΄ λ λμ μ΄λ¦μ΄ λ μ€λ₯΄λ©΄ κ°μ νκΈ° λ°λλ€. κ·Έλ¬λ©΄ (μμ μ ν¬ν¨ν΄) μ½λλ₯Ό μ½λ μ¬λμ΄ μ’ λ ν볡ν΄μ§λ¦¬λΌ.
λ³μλ ν¨μ κ·Έλ¦¬κ³ ν΄λμ€ μ΄λ¦μ μ§μ λ μ§λ¬Έμ λͺ¨λ λ΅ ν μ μμ΄μΌ νλ€.
1. λ³μ(νΉμ λ©μλλ ν΄λμ€)μ μ‘΄μ¬ μ΄μ λ ?
2. μν κΈ°λ₯μ ?
3. μ¬μ© λ°©λ²μ ?
μ£Όμμ΄ νμνλ€λ©΄ μλλ₯Ό λΆλͺ νκ² λλ¬λ΄μ§ λͺ»νλ€λ λ§μ΄λ€.
π©π» μ§κΈκΉμ§ λ΄κ° μ§°λ μ½λμμ μ£ΌμμΌλ‘ μλ―Έλ₯Ό λλ¬λΈκ² μΌλ§λ λ§μκ°... μ§κΈ λΉμ₯ λ΄κ° μμ¦ μ§ν μ€μΈ νλ‘μ νΈμμ ν ν΄λμ€λ§ λ€μ΄κ°λ λ°λ‘ λ³΄μΌ κ²μ΄λ€... μ§κΈ λΉμ₯ κ·Έκ²λΆν° κ³ μΉλ κ²μΌλ‘ Clean Code μμνλ€.
κ·Έλ¦λ μ 보λ₯Ό νΌνλΌ p.24
νλ‘κ·Έλλ¨Έλ μ½λμ κ·Έλ¦λ λ¨μλ₯Ό λ¨κ²¨μλ μ λλ€. κ·Έλ¦λ λ¨μλ μ½λμ μλ―Έλ₯Ό ν리기 λλ¬Έμ΄λ€.
λλ¦λλ‘ λ리 μ°μ΄λ μλ―Έκ° μλ λ¨μ΄λ₯Ό λ€λ₯Έ μλ―Έλ‘ μ¬μ©ν΄λ μλλ€.
μλ₯Ό λ€μ΄ μ¬λ¬ κ³μ μ κ·Έλ£ΉμΌλ‘ λ¬Άμ λ AccountList μμ Listλ νλ‘κ·Έλλ¨Έμκ² νΉμν μλ―Έμ΄λ€. μ€μ κ³μ μ λ΄λ 컨ν μ΄λκ° Listκ° μλλΌλ©΄ νλ‘κ·Έλλ¨Έμκ² κ·Έλ¦λ μ 보λ₯Ό μ£Όλ κ²μ΄λ€. Listκ° μλμλ€λ©΄ Accounts λΌλκ° AccountGroup μ΄λ°μμΌλ‘ λͺ λͺ νμ΄μΌ νλ€.
λν μλ‘ ν‘μ¬ν μ΄λ¦μ μ¬μ©νμ§ μλλ‘ νλ€.
μΌκ΄μμ΄ λ¨μ΄μ§λ νκΈ°λ²μ κ·Έλ¦λ μ 보μ΄λ―λ‘ μ μ¬ν νκΈ°λ²μ μ¬μ©νμ.
μ΄λ¦μΌλ‘ κ·Έλ¦λ μ 보λ₯Ό μ 곡νλ λμ°ν μλ‘λ μλ¬Έμ Lκ³Ό λλΆμ Oκ° μλ€. (π©π» μ΄κ±΄ μ‘°κΈλ§ κ°λ°ν΄λ΄€λ€λ©΄ μν μ¬ μν©μ΄λ€. λ€νν λλ νλ²λ Lκ³Ό Oλ₯Ό μ¬μ©ν΄μ ν·κ°λ Έλ κ²½νμ μλ€.. ^^ λ€ν)
μλ―Έ μκ² κ΅¬λΆνλΌ p.25
ProductInfo, ProductData λΌκ³ λΆλ₯Έλ€λ©΄ κ°λ μ ꡬλΆνμ§ μκ³ κ·Έλ₯ μ΄λ¦λ§ λ¬λ¦¬νκ²μ΄λ€. λκ° λμ§ νμ μ΄ μλμ§ μλκ°..!! Info, Data, a, an, the λ μλ―Έκ° λΆλΆλͺ ν λΆμ©μ΄μ΄λ€.
λΆμ©μ΄λ₯Ό μΆκ°ν μ΄λ¦μμλ μλ¬΄λ° μ 보λ₯Ό μ 곡λ°μ§ λͺ»νλ€.
λΆμ©μ΄λ μ€λ³΅μ΄λ€. NameStringκ³Ό Name λκ° λ€λ₯Έκ°. Customerμ CustomerObject μ°¨μ΄λ₯Ό μκ² λκ°?
μ½λ μ¬λμ΄ μ°¨μ΄λ₯Ό μλλ‘ μ΄λ¦μ μ§μ΄λΌ.
λ°μνκΈ° μ¬μ΄ μ΄λ¦μ μ¬μ©νλΌ p.27
μ¬λλ€μ λ¨μ΄μ λ₯μνλ€. μ°λ¦¬ λλμμ μλΉ λΆλΆμ λ¨μ΄λΌλ κ°λ λ§ μ μ μΌλ‘ μ²λ¦¬νλ€.
κ·Έλ¦¬κ³ μ μμμΌλ‘ λ¨μ΄λ λ°μμ΄ κ°λ₯νλ€. λ§μ μ²λ¦¬νλ €κ³ λ°λ¬ν λλλ₯Ό νμ©νμ§ μλλ€λ©΄ μνκΉμ΄ μν΄λ€.
κ·Έλ¬λ―λ‘ λ°μνκΈ° μ¬μ΄ μ΄λ¦μ μ ννλΌ.
π©π» λ€λ₯Έ λΆκ³Ό μ½λμ λν΄ μκΈ°ν λ λ°μνκΈ° μ¬μ΄ λ¨μ΄ μ΄λ¦μ κ°μ§ λ³μλͺ μΌλ‘ μκΈ°νλκ² λ«μ§ μκ² λκ°..γ
λ°μν λ.. μ.. μ΄.. μ΄λ¬λ©΄μ μκΈ°νλ κ²λ³΄λ¨...
κ²μνκΈ° μ¬μ΄ μ΄λ¦μ μ¬μ©νλΌ p.28
WORK_DAYS_PER_WEEK λ₯Ό μ°ΎκΈ°κ° μΌλ§λ μ¬μ΄μ§ μκ°ν΄λ³΄λΌ. κ·Έλ₯ 5λ₯Ό μ¬μ©νλ€λ©΄ 5κ° λ€μ΄κ°λ μ΄λ¦μ λͺ¨λ μ°Ύμ ν μλ―Έλ₯Ό λΆμν΄ μνλ μμλ₯Ό κ°λ €λ΄μΌ ν리λΌ.
π©π» IDEμμλ μ΄λμλ κ²μν λ μ°ΎκΈ° μ¬μ΄ μ΄λ¦μΌλ‘ νμ! μ¬κΈ°μ κΈ°μ λ€ μ¬μ©νκ±°λ κ·Έλ° μ΄λ¦μΌλ‘ νλ€λ©΄ κ²μνμ λ μ°λ₯΄λ₯΄ λμμ κ±°κΈ°μλ μ°ΎμμΌ νλ,,,
ν΄λμ€, λ©μλ μ΄λ¦ p.32
ν΄λμ€ μ΄λ¦
ν΄λμ€ μ΄λ¦κ³Ό κ°μ²΄ μ΄λ¦μ λͺ μ¬λ λͺ μ¬κ΅¬κ° μ ν©νλ€. Customer, WikiPage, Account, AddressParser λ±μ΄ μ’μ μμ΄λ€. Manager, Info, Data, Processor κ°μ λ¨μ΄λ νΌνκ³ , λμ¬λ μ¬μ©νμ§ μλλ€.
λ©μλ μ΄λ¦
λ©μλ μ΄λ¦μ λμ¬λ λμ¬κ΅¬κ° μ ν©νλ€. postPyament, deletePage,save λ±μ΄ μ ν©ν μμ΄λ€.
μ κ·Όμ, λ³κ²½μ, 쑰건μλ javaBean νμ€μ λ°λΌ get,set, is λ₯Ό λΆμΈλ€.
ν κ°λ μ ν λ¨μ΄λ₯Ό μ¬μ©νλΌ p.33
μΆμμ μΈ κ°λ νλμ λ¨μ΄ νλλ₯Ό μ νν΄ μ΄λ₯Ό κ³ μνλ€.
μλ₯Ό λ€μ΄ λκ°μ λ©μλλ₯Ό ν΄λμ€λ§λ€ get, retrieve, fetch μ΄λ κ² μ κ°κ° λΆλ₯΄λ©΄ λμ€μ μ¬μ©ν λ νΌλμ€λ½λ€.
μ΄λ ν΄λμ€μμ μ΄λ μ΄λ¦μ μΌλμ§ κΈ°μ΅νκΈ° μ΄λ ΅λ€.
λ§μ°¬κ°μ§λ‘ λμΌ μ½λ κΈ°λ°μ controller, manager, driverλ₯Ό μμ΄ μ°λ©΄ νΌλμ€λ½λ€.
μΌκ΄μ± μλ μ΄νλ μ½λλ₯Ό μ¬μ©ν νλ‘κ·Έλλ¨Έκ° λ°κ°κ² μ¬κΈΈ μ λ¬Όμ΄λ€.
π©π» μ¬μ€ κ°λ°νλ©΄μ μ΄λ¦ μ§λκ² μλΉν μ΄λ ΅λ€.λ³μ μ΄λ¦μ λλ‘ ν μ§.. λ©μλ μ΄λ¦μ λλ‘ ν μ§ νλ€κ° κ²°κ΅ λλν μΈν 리μ μ΄μ λμμ λ°μμ γ γ ν΄κ²°νκ³€ νλλ°... ν΄λ¦° μ½λμμ μλ €μ€? μ΄ κ·μΉλ€μ μ μ©ν΄μ μ§κΈ λΉμ₯ μ§νμ€μΈ νλ‘μ νΈμ μ μ©ν΄λ³Ό μμ μ΄λ€.
μ°μ λ΄κ° μ§ μ½λλΆν° μμ νκ³ ... κ·Έ νμ 보μ...
'κΈ°μ μμ > Clean Code' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Clean Code] 3. ν¨μ (0) | 2023.09.26 |
---|---|
[Clean Code] 1. κΉ¨λν μ½λ (0) | 2023.09.25 |
[Clean Code] 0. μ΄ μ± μ 곡λΆνλ μ΄μ (0) | 2023.09.25 |