π μ°μν ν ν¬ μΊ ν Pro ν리 μ½μ€ νκΈ°
π μ°μν ν ν¬ μΊ ν Pro ν리 μ½μ€ νκΈ°
μ΄λ²μ μ°μν νμ λ€μμ μ΄λ©μΌλ‘ μλ°μ§κΈ° λ°μ¬μ±λμ΄ μ§ννμλ μ°μν ν ν¬ μΊ ν Pro κ° μ΄λ¦°λ€λ μμμ μκ² λμλ€. λͺ¨μ§λμμ λ°±μλ κ°λ°(Java) κ²½λ ₯ λ§ 4λ μ΄μμ΄μμ§λ§ κ΅μ‘ κ³Όμ μμΈμλ΄λ₯Ό λ³΄κ³ μ λ§μ λ§ μ’μ κΈ°νλΌκ³ μκ°νλ€. νΉνλ μ΅κ·Ό λκ° κ°λ°μ νλ©΄μλ μ νκ³ μλ κ²μΈμ§ μꡬμ¬μ΄ λ€κ³ λ°©ν©νκ³ μλ κ² κ°μ κΌ μ°Έκ°νκ³ μΆμλ€.
κ·Έλ¦¬κ³ λ³Έ κ³Όμ μ μμ ν리μ½μ€λΌλ μ°Έμ¬νκ² λλ©΄ μ λ§ λ°°μΈ κ²μ΄ λ§κ³ λλΌλ κ²λ λ§μ κ²μΌλ‘ μκ°νλ€. 무μ보λ€λ λͺ¨μ§λμ λλ¬Έμ μ§μμ μ νκ³ νννλ κ²λ³΄λ€ μ§μμ ν΄λ³΄λ κ² λμ κ² κ°μ μ΄μ¬ν μ§μμλ₯Ό μ¨μ μ§μν΄λ³΄μλ€.
λ€νν? ν리μ½μ€ κ³Όμ μ΄λ©μΌμ΄ μ€κ² λμκ³ ν리μ½μ€ 1μ£Όμ°¨, 2μ£Όμ°¨ λͺ¨λ κΈ°κ°μμ λλ§μΉ μ μμλ€.
μ°μ , ν리μ½μ€κΉμ§ λ§μΉκ³ λ ν κ²°λ‘ μ λ§νμλ©΄ μμλ!! κ³Όκ°νκ² μ§μνκΈΈ μ λ§μ λ§ μνλ€λ μκ°μ΄ λ€μλ€. λͺ¨μ§λμλ§ λ³΄κ³ μ§μμ νμ§ μμμΌλ©΄ μ λ§ ννν λ»νλ€.
μμ§ λ³Έ κ³Όμ μ΄ μλ ν리μ½μ€λ§ μ°Έμ¬νμ§λ§, μμλλ‘ μ λ§ λ§μ κ²μ λ°°μ°κ³ λλ μ μλ κΈ°νμλ€.
ν리μ½μ€λ₯Ό μ§ννλ©° μ¬λ¬ κ°μ§ μ§μΌμΌ ν κ·μΉλ€μ΄ μμλλ° μ΄ κ·μΉλ€μ μ κ²½ μ°λ©° νλ€ λ³΄λ μ λ§ λ§μ κ²μ λκΌλ€.
ex) μλ° μ½λ 컨벀μ
μ μ§μΌμΌνλ€ , indent(μΈλ΄νΈ ,λ€μ¬μ°κΈ°) depthλ₯Ό 1κΉμ§λ§ νμ©νλ€.
streamμ μ°μ§ μλλ€, elseλ₯Ό μ°μ§ μλλ€, ν¨μ(λλ λ©μλ)κΈΈμ΄κ° 10λΌμΈμ λμ΄κ°μ§ μκ²νλ€.
λ±λ±
μ΄λ¬ν κ·μΉλ€μ μ κ²½ μ°λ©° νλ€ λ³΄λ μλ° μ½λ 컨벀μ μ λν΄μλ λ μ κ²½ μΈ μ μμκ³ μ’ λ κ°λ μ± μλ μ½λλ₯Ό μμ±νκΈ° μν΄ λ Έλ ₯νλ€. κ·Έλ° κ³Όμ μμ λ³μ, λ©μλ λ€μ΄λ°μ λν΄μλ λ μκ°ν΄λ³΄λ μκ°μ κ°κ² λμλ€.
λν indent depth 2 λμ§ μκΈ° λ©μλ κΈΈμ΄ 10λΌμΈ λκΈ°μ§ μκΈ° λ±μ μν΄ λ©μλ / ν΄λμ€ λΆλ¦¬λ₯Ό νμλλ° μ΄λ° κ³Όμ μμ κ° λ©μλκ° λ± μμ μ κΈ°λ₯μ μ νλλ‘ νμλ€. λλΆμ λ©μλλ₯Ό μ¬νμ©νκΈ° μ¬μ κ³ μμ λ©μλ(κΈ°λ₯)λ€μ μ 쑰립νμ¬ ν° λ©μλ(κΈ°λ₯)μ μ΄λ£¨κ² νκΈ°λ μ¬μ λ€. κ·Έλ¦¬κ³ κ·Έ λ°μλ κ°μ²΄μ λ©μμ§λ₯Ό 보λ΄λΌ! μΌκΈ 컬λ μ μ΄μ© , λ¬Έμμ΄,μμκ°μ ν¬μ₯ν΄λΌ λ±μ μ€μ²νλ©° μ΄λ° κ³Όμ μμ μ’ λ κ°μ²΄μ§ν₯μ μΈ κ°λ°μ λν΄ κ³ λ―Όνλ©° μ μ©ν΄λ³Ό μ μμλ€.
κ·Έλ¦¬κ³ TDDμ λν΄μλ μ λ§ λ§μ΄ κΉ¨λ¬μλ€. μ¬μ€, κ·Έλμ μ£Όλ‘ λ¨Όμ κΈ°λ₯λ€μ μμ±νκ³ ν μ€νΈ μ½λλ₯Ό μ§κ² λλ κ²½μ°κ° λ§μμλλ° μ΄λ² ν리μ½μ€λ₯Ό μννλ©° μ€ν¨νλ ν μ€νΈ μ½λ μμ± -> μ±κ³΅νκ² λ§λ€κΈ° - > 리ν©ν λ§ κ³Όμ μΌλ‘ κ°λ°νλ©° μ΄λ»κ² μ¬λ°λ₯΄κ² TDDλ₯Ό ν΄μΌ νλμ§λ κΉ¨λ¬μλ€. (β» TFD + β»Refactoring)
κ·Έ λ°μλ μ λ§ λ§μ κ²μ λλΌκ³ κΉ¨λ«κ² ν΄μ£Όμλ ν리μ½μ€μλ€.
κ·Έλμ μ λ§ κΌ μλ°μ§κΈ° λ°μ¬μ± λμ΄ μ§νν΄μ£Όμλ μ΄ κ΅μ‘μ λ³Έ κ³Όμ μ κΌ λ£κ³ μΆμ΄μ‘λ€. λꡬλ λ³Έ κ³Όμ μμ μ΄λ€μ§λ νΌλλ°±κ³Ό μ½λ리뷰κΉμ§ μ λ§ λ무 κΈ°λκ° λλ€. κ²°κ³Όκ° μ΄λ»κ² λμ¬μ§ μμ§μ λͺ¨λ₯΄κ² μ§λ§, λ³Έ κ΅μ‘ κ³Όμ μ λ½ν μ΄μ¬ν ν΄λ³΄κ³ μΆλ€.
λ
μ°μν ν
ν¬ μΊ ν Pro ν리 μ½μ€μ μ°Έμ¬νκ³ λλ μ μ
μ£Όμ 리주μ 리 λ¨κ²¨λ΄€μ΅λλ€.
κ°μ¬ν©λλ€. π