Study/CleanCode

[Study][CleanCode - 4] 14. 점진적인 κ°œμ„ 

youn12 2022. 8. 10. 14:49
πŸ“‹ λͺ©μ°¨.

14. 점진적인 κ°œμ„ 
    .
μ μ§„μ μœΌλ‘œ κ°œμ„ ν•˜λ‹€.
    .κ²°λ‘ 

βœ”οΈ λ‚΄μš©.

 

14. 점진적인 κ°œμ„ 

 

점진 적인 κ°œμ„ μ„ μ½”λ“œλ‘œ λ³΄μ—¬μ£ΌλŠ” μž₯으둜 λ§Žμ€ λ‚΄μš©μ΄ μ—†λ‹€.
ν”„λ‘œκ·Έλž˜λ°μ€ 과학보닀 κ³΅μ˜ˆμ— 가깝닀. κΉ¨λ—ν•œ μ½”λ“œλ₯Ό 짜렀면 λ¨Όμ € μ§€μ €λΆ„ν•œ μ½”λ“œλ₯Ό μ§  뒀에 정리해야 ν•œλ‹€.
λŒμ•„κ°€λŠ” ν”„λ‘œκ·Έλž¨μ„ λͺ©ν‘œλ‘œ μž‘μ•„μ„œλŠ” μ•ˆλœλ‹€. 이런 행동은 μ „λ¬Έκ°€λ‘œμ„œ μžμ‚΄ ν–‰μœ„μ΄λ‹€.

 


.μ μ§„μ μœΌλ‘œ κ°œμ„ ν•˜λ‹€.

 

 ν”„λ‘œκ·Έλž¨μ„ λ§μΉ˜λŠ” κ°€μž₯ 쒋은 방법 쀑 ν•˜λ‚˜λŠ” κ°œμ„ μ΄λΌλŠ” 이름 μ•„λž˜ ꡬ쑰λ₯Ό 크게 λ’€μ§‘λŠ” ν–‰μœ„λ‹€. μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ€ κ·Έμ € 그런 'κ°œμ„ 'μ—μ„œ κ²°μ½” νšŒλ³΅ν•˜μ§€ λͺ»ν•œλ‹€. 'κ°œμ„ ' μ „κ³Ό λ˜‘κ°™μ΄ ν”„λ‘œκ·Έλž¨μ„ λŒλ¦¬κΈ°κ°€ μ•„μ£Ό μ–΄λ ΅κΈ° λ•Œλ¬Έμ΄λ‹€.

 κ·Έλž˜μ„œ μ €μžλŠ” ν…ŒμŠ€νŠΈ 주도 개발(TDD)μ΄λΌλŠ” 기법을 μ‚¬μš©ν–ˆλ‹€. TDDλŠ” μ–Έμ œ μ–΄λŠ λ•ŒλΌλ„ μ‹œμŠ€ν…œμ΄ λŒμ•„κ°€μ•Ό ν•œλ‹€λŠ” 원칙을 λ”°λ₯Έλ‹€. λ‹€μ‹œ 말해, TDDλŠ” μ‹œμŠ€ν…œμ„ λ§κ°€λœ¨λ¦¬λŠ” 변경을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. 변경을 κ°€ν•œ 후에도 μ‹œμŠ€ν…œμ΄ λ³€κ²½ μ „κ³Ό λ˜‘κ°™μ΄ λŒμ•„κ°€μ•Ό ν•œλ‹€.

 λ³€κ²½ μ „ν›„ μ‹œμŠ€ν…œμ΄ λ˜‘κ°™μ΄ λŒμ•„κ°„λ‹€λŠ” 사싀을 ν™•μΈν•˜λ €λ©΄ μ–Έμ œλ“  싀행이 κ°€λŠ₯ν•œ μžλ™ν™” ν…ŒμŠ€νŠΈ μŠˆνŠΈκ°€ ν•„μš”ν•˜λ‹€. λ‹¨μœ„ ν…ŒμŠ€νŠΈλŠ” Junit으둜 인수 ν…ŒμŠ€νŠΈλŠ” FitNessμ—μ„œ μœ„ν‚€λ‘œ μž‘μ„±ν•˜μ˜€λ‹€.


 

.κ²°λ‘ 

 

 κ·Έμ € λŒμ•„κ°€λŠ” μ½”λ“œλ§ŒμœΌλ‘œ λΆ€μ‘±ν•˜λ‹€. λ‹¨μˆœνžˆ λŒμ•„κ°€λŠ” μ½”λ“œμ— λ§Œμ‘±ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” μ „λ¬Έκ°€ 정신이 λΆ€μ‘±ν•˜λ‹€.

λ¬Όλ‘  λ‚˜μœ μ½”λ“œλ„ κΉ¨λ—ν•œ μ½”λ“œλ‘œ κ°œμ„ ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ μ‹œκ°„μ΄ μ§€λ‚ μˆ˜λ‘ λΉ„μš©μ΄ 맀우 많이 λ“ λ‹€. 5λΆ„ 전에 μ—‰λ§μœΌλ‘œ λ§Œλ“  μ½”λ“œλŠ” μ§€κΈˆ λ‹Ήμž₯ μ •λ¦¬ν•˜κΈ° μ•„μ£Ό 쉽닀.

 κ·ΈλŸ¬λ―€λ‘œ μ½”λ“œλŠ” μ–Έμ œλ‚˜ μ΅œλŒ€ν•œ κΉ”λ”ν•˜κ³  λ‹¨μˆœν•˜κ²Œ μ •λ¦¬ν•˜μž. μ ˆλŒ€λ‘œ μ©μ–΄κ°€κ²Œ λ°©μΉ˜ν•˜λ©΄ μ•ˆ λœλ‹€.


πŸ“ λŠλ‚€μ .

 - 점진적인 κ°œμ„ μ„ μ½”λ“œλ‘œ 보여주어 κΉ¨λ—ν•œ μ½”λ“œκ°€ μ–΄λ– ν•œμ§€μ— λŒ€ν•œ μ‹œμ•Όκ°€ 쑰금 넓어진 것 κ°™λ‹€.
 - 항상 μ€‘μš”ν•œ 'λ‚˜μ€‘μ€ λŒμ•„μ˜€μ§€ μ•ŠλŠ”λ‹€.' λ₯΄λΈ”λž‘ 법칙을 또 ν•œ 번 κ°μΈν–ˆλ‹€. μ½”λ“œλ₯Ό 항상 κΉ¨λ—ν•˜κ²Œ ν•˜μž.