πŸ’»μš©λ‡½ 개발 λ…ΈνŠΈπŸ’»
article thumbnail
λ°˜μ‘ν˜•

Clean Code TIL Day 13,15

Day 13, 15

πŸ”– 였늘 읽은 λ²”μœ„ :  7μž₯ 였λ₯˜ 처리(p.130~p.142)


πŸ˜ƒ μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©

  • κΉ¨λ—ν•œ μ½”λ“œμ™€ 였λ₯˜ μ²˜λ¦¬λŠ” ν™•μ‹€νžˆ 연관성이 μžˆλ‹€. μƒλ‹Ήμˆ˜ μ½”λ“œ κΈ°λ°˜μ€ μ „μ μœΌλ‘œ 였λ₯˜ 처리 μ½”λ“œμ— μ’Œμš°λœλ‹€.(p.130)
  • 였λ₯˜ μ½”λ“œλ³΄λ‹€ μ˜ˆμ™Έλ₯Ό μ‚¬μš©ν•˜λΌ.(p.130)
  • μ˜ˆμ™Έκ°€ λ°œμƒν•  μ½”λ“œλ₯Ό 지 λ•ŒλŠ” try-catch-finally 문으둜 μ‹œμž‘ν•˜λŠ” 편이 λ‚«λ‹€. 그러면 try λΈ”λ‘μ—μ„œ 무슨 일이 생기든지 ν˜ΈμΆœμžκ°€ κΈ°λŒ€ν•˜λŠ” μƒνƒœλ₯Ό μ •μ˜ν•˜κΈ° μ‰¬μ›Œμ§„λ‹€.(p.131)
  • 였λ₯˜ λ©”μ‹œμ§€μ— 정보λ₯Ό λ‹΄μ•„ μ˜ˆμ™Έμ™€ ν•¨κ»˜ λ˜μ§„λ‹€. μ‹€νŒ¨ν•œ μ—°μ‚°κ³Ό μ‹€νŒ¨ μœ ν˜•λ„ μ–ΈκΈ‰ν•œλ‹€.(p.135)
  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 였λ₯˜λ₯Ό μ •μ˜ν•  λ•Œ ν”„λ‘œκ·Έλž˜λ¨Έμ—κ²Œ κ°€μž₯ μ€‘μš”ν•œ κ΄€μ‹¬μ‚¬λŠ” 였λ₯˜λ₯Ό μž‘μ•„λ‚΄λŠ” 방법이 λ˜μ–΄μ•Ό ν•œλ‹€.(p.135)
  • null을 λ°˜ν™˜ν•˜λŠ” μ½”λ“œλŠ” 일거리λ₯Ό 늘릴 뿐만 μ•„λ‹ˆλΌ ν˜ΈμΆœμžμ—κ²Œ 문제λ₯Ό λ– λ„˜κΈ΄λ‹€. λˆ„κ΅¬ ν•˜λ‚˜λΌλ„ null 확인을 λΉΌλ¨ΉλŠ”λ‹€λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ ν†΅μ œ 뢈λŠ₯에 λΉ μ§ˆμ§€λ„ λͺ¨λ₯Έλ‹€.(p.139)
  • λŒ€λ‹€μˆ˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” ν˜ΈμΆœμžκ°€ μ‹€μˆ˜λ‘œ λ„˜κΈ°λŠ” null을 적절히 μ²˜λ¦¬ν•˜λŠ” 방법이 μ—†λ‹€. κ·Έλ ‡λ‹€λ©΄ μ• μ΄ˆμ— null을 λ„˜κΈ°μ§€ λͺ»ν•˜λ„둝 κΈˆμ§€ν•˜λŠ” 정책이 합리적이닀. 즉, null이 λ„˜μ–΄μ˜€λ©΄ μ½”λ“œμ— λ¬Έμ œκ°€ μžˆλ‹€λŠ” 말이닀.(p.142)
  • 였λ₯˜ 처리λ₯Ό ν”„λ‘œκ·Έλž¨ 논리와 뢄리해 λ…μžμ μΈ μ‚¬μ•ˆμœΌλ‘œ κ³ λ €ν•˜λ©΄ νŠΌνŠΌν•˜κ³  κΉ¨λ—ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆλ‹€. 였λ₯˜ 처리λ₯Ό ν”„λ‘œκ·Έλž¨ 논리와 λΆ„λ¦¬ν•˜λ©΄ 독립적인 좔둠이 κ°€λŠ₯해지며 μ½”λ“œ μœ μ§€λ³΄μˆ˜μ„±λ„ 크게 높아진닀.(p.142)

πŸ€” μ˜€λŠ˜ 읽은 μ†Œκ°κ³Ό λ– μ˜€λ₯΄λŠ” 생각

μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό ν•˜λŠ” 것이 μ΄λ ‡κ²Œλ‚˜ μ€‘μš”ν•˜κ²Œ μ—¬κ²¨μ§€λŠ”μ§€ λͺ°λžμ—ˆλ‹€.

ν‰μ†Œ μ™ΈλΆ€ apiλ₯Ό ν˜ΈμΆœν•  λ–„ try-catch-finally 문을 ν†΅ν•΄μ„œ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό ν–ˆλŠ”λ°, μ–΄λ–»κ²Œ ν•˜λ©΄ μ’€ 더 μ˜ˆμ™Έ 처리λ₯Ό μ§κ΄€μ μ΄κ²Œ ν•˜κ³  κΉ”λ”ν•œ μ½”λ“œλ‘œ ν•œ λˆˆμ— λ³Ό 수 있게 μž‘μ„±ν•  수 μžˆλŠ”μ§€μ— λŒ€ν•΄μ„œ 이번 μž₯μ—μ„œ λ°°μ› λ‹€.

πŸ”Ž κΆκΈˆν•œ λ‚΄μš©μ΄ μžˆκ±°λ‚˜, 잘 μ΄ν•΄λ˜μ§€ μ•ŠλŠ” λ‚΄μš©

'ν™•μΈλœ μ˜ˆμ™Έ'λΌλŠ” 말이 쀑간에 λ“±μž₯ν•˜λŠ”λ° 'ν™•μΈλœ μ˜ˆμ™Έ'λΌλŠ” 단어λ₯Ό 처음 λ“€μ–΄λ΄€λ‹€.

μ•Œμ•„λ³Έ κ²°κ³Ό, 'ν™•μΈλœ μ˜ˆμ™Έ'λž€

  • 잘λͺ»λœ μ½”λ“œκ°€ μ•„λ‹Œ 잘λͺ»λœ μƒν™©μ—μ„œ λ°œμƒν•˜λŠ” μ˜ˆμ™Έ
  • 파일 열기와 같이 μ •ν™•ν•œ μ½”λ“œλ‘œ κ΅¬ν˜„ν–ˆμŒμ—λ„, μ™ΈλΆ€ ν™˜κ²½(파일이 μ—†λŠ” 상황 λ“±)에 따라 λ°œμƒ κ°€λŠ₯
  • μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό κ΅¬ν˜„ν•˜μ§€ μ•ŠμœΌλ©΄ 컴파일 μ—λŸ¬ λ°œμƒ (컴파일 μ‹œ ν™•μΈν•΄μ„œ ν™•μΈλœ μ˜ˆμ™Έ)
  • RuntimeException μ΄μ™Έμ˜ μ˜ˆμ™Έλ“€

java κ΄€λ ¨ ν™•μΈλœ μ˜ˆμ™ΈλŠ” 많이 λ‚˜μ˜€μ§€λ§Œ javascript ν™•μΈλœ μ˜ˆμ™Έμ— λŒ€ν•΄μ„œλŠ” μ—†λŠ”λ° javaμ—λ§Œ κ΄€λ ¨μžˆλŠ” μš©μ–΄μΈμ§€ ν—·κ°ˆλ¦°λ‹€.

μ†Œκ° 3쀄 μš”μ•½

  • 였λ₯˜ μ²˜λ¦¬λŠ” μ€‘μš”ν•˜λ‹€.
  • 였λ₯˜ μ²˜λ¦¬λ³΄λ‹¨ μ˜ˆμ™Έλ‘œ μ²˜λ¦¬ν•˜μž.
  •  μ˜€λ₯˜λ₯Ό μ •μ˜ν•  λ•Œ κ°€μž₯ μ€‘μš”ν•œ κ΄€μ‹¬μ‚¬λŠ” 였λ₯˜λ₯Ό μž‘μ•„λ‚΄λŠ” 방법이 λ˜μ–΄μ•Ό ν•œλ‹€.
λ°˜μ‘ν˜•
profile

πŸ’»μš©λ‡½ 개발 λ…ΈνŠΈπŸ’»

@μš©λ‡½

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!