방금 μ˜¬λΌμ™”λ‹€κ°€ μžμ‚­ν•œΒ μ½”λ“œλ₯ΌΒ ν™•μž₯μ„± 있게 μ§œλ €λŠ” κ³ λ―Ό 글을 보고 μ˜¬λ €λ΄„.


가끔 μ½”λ“œλ₯Ό μ—„μ²­ μ™„λ²½ν•˜κ²Œ 짜고, 'ν™•μž₯μ„±(?)' 있게 짜렀고 ν•˜λŠ” 뉴비듀이 μžˆλ‹€.


μ½”λ“œλŠ” μž‘κ²Œ 보면 'κ²Œμž„', 즉 ν”„λ‘œλ•νŠΈμ™€Β κ°™λ‹€.


3Match κ²Œμž„μ„ λ§Œλ“€λ©΄μ„œ Clicker κ²Œμž„μ˜ λ©”μ»€λ‹ˆμ¦˜μ„ λŒ€λΉ„ν•œ ν™•μž₯성을 κ³ λ €ν•˜λ©΄μ„œ κ²Œμž„μ„ λ§Œλ“€μ§€ μ•Šλ“―


μ½”λ“œλ„ λ§ˆμ°¬κ°€μ§€λ‹€.


κ°€μž₯ 쒋은 μ½”λ“œλŠ”Β μ§€κΈˆ λ‹Ήμž₯의 μš”κ΅¬μ‚¬ν•­μ„ λ§Œμ‘±ν•˜λŠ” μ½”λ“œκ°€ 제일 쒋은 μ½”λ“œλ‹€.


YAGNI Software Development Principles | Software design principles YAGNI  #YAGNI #softwaredeveloper


뒀에 KISS, DRYλŠ”Β λ¬΄μ‹œν•˜κ³  YAGNI 만 기얡해라.


λ­”κ°€ 훗날을 λŒ€λΉ„ν•΄μ„œ κΈ°λŠ₯을 λ„£κ³  ν•˜λŠ” 일을 ν•˜μ§€ λ§λΌλŠ”κ±°λ‹€.


κ²°κ΅­ μ•ˆ μ“°κ²Œ 될 ν™•λ₯ μ΄ 맀우 맀우 λ†’λ‹€.


---Β 


μΆ”κ°€λ‘œ, μž¬ν™œμš©μ˜ λ‹¨μœ„λŠ” λͺ¨λ“ˆ/클래슀/ν•¨μˆ˜/λ„€μž„μŠ€νŽ˜μ΄μŠ€ 등이지 μ½”λ“œκ°€ μ•„λ‹ˆλ‹€.


λ§Œμ•½, μž¬ν™œμš©μ„ ν•˜κ³  μ‹Άλ‹€λ©΄, λ‘œμ§μ€ μ€‘μš”ν•˜μ§€ μ•Šλ‹€.


λ‚΄λΆ€ λ‘œμ§μ€ ifλŒ€μ‹  switchλ₯Ό μ“°λ˜, while을 μ“°λ˜ 상관없닀


λ§ˆμ°¬κ°€μ§€λ‘œ μžλ£Œκ΅¬μ‘°λŠ” λ³€μˆ˜λ‘œ λ‹΄λ˜,Β λ°°μ—΄λ‘œ λ‹΄λ˜, λ¦¬ν„°λŸ΄μ΄λ˜, μ—΄κ±°ν˜•μ΄λ“  그게 μ€‘μš”ν•œκ²Œ μ•„λ‹ˆλ‹€.


μ–΄λ–»κ²Œ λŒμ•„κ°€λ˜ λ°”κΉ₯에선 λ‚΄λΆ€ 둜직 μ‹ κ²½ μ•ˆμ“°κ³ Β μΈν’‹μ— λŒ€ν•΄ μ˜ˆμΈ‘κ°€λŠ₯ν•œ 값이 λ‚˜μ˜¨λ‹€λŠ” μˆœμˆ˜μ„±μ΄ μ€‘μš”ν•œκ±°λ‹€.


(μˆœμˆ˜ν•˜λ‹€ = μ‚¬μ΄λ“œμ΄νŽ™νŠΈ(λΆ€μˆ˜νš¨κ³Ό)κ°€ μ—†λ‹€λŠ” λœ»μ΄λ‹€)


κ·ΈλŸ¬λ‹ˆ μ–΄λ–»κ²Œ μ§€μ§€ κ³ λ―Όν•˜λŠ” 프뢕이듀은 생각을 λ©ˆμΆ”κ³ Β λ‹Ήμž₯ ν•„μš”ν•œ μ½”λ“œλ₯Ό 짜라


λ¦¬νŒ©ν† λ§μ€ λ‹Ήμ—°νžˆ λ”°λΌμ˜€λŠ” 수순이고 μ½”λ“œλ₯Ό κ³ μΉ˜λŠ”κ±Έ λ‘λ €μ›Œν•˜μ§€ 마라