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

Clean Code TIL Day 04

1. Day 04

πŸ”– 였늘 읽은 λ²”μœ„ :  2μž₯ μ˜λ―ΈμžˆλŠ” 이름 (~p.33)


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

  • μ˜λ„λ₯Ό λΆ„λͺ…νžˆ λ°ν˜€λΌ.(p.22)
  • 쒋은 이름을 μ§€μœΌλ €λ©΄ μ‹œκ°„μ΄ κ±Έλ¦¬μ§€λ§Œ 쒋은 μ΄λ¦„μœΌλ‘œ μ ˆμ•½ν•˜λŠ” μ‹œκ°„μ΄ 훨씬 더 λ§Žλ‹€.(p.22)
  • κ·Έλ¦‡λœ 정보λ₯Ό ν”Όν•˜λΌ.(p.24)
  • 의미 있게 κ΅¬λΆ„ν•˜λΌ.(p.25)
  • λ°œμŒν•˜κΈ° μ‰¬μš΄ 이름을 μ‚¬μš©ν•˜λΌ.(p.27)
  • κ²€μƒ‰ν•˜κΈ° μ‰¬μš΄ 이름을 μ‚¬μš©ν•˜λΌ.(p.28)
  • 긴이름이 짧은 이름보닀 μ’‹λ‹€. κ²€μƒ‰ν•˜κΈ° μ‰¬μš΄ 이름이 μƒμˆ˜λ³΄λ‹€ μ’‹λ‹€.(p.28)
  • 인코딩을 ν”Όν•˜λΌ.(p.29)
  • μžμ‹ μ˜ κΈ°μ–΅λ ₯을 μžλž‘ν•˜μ§€ 마라.(p.31)
  • λ˜‘λ˜‘ν•œ ν”„λ‘œκ·Έλž˜λ¨Έμ™€ μ „λ¬Έκ°€ ν”„λ‘œκ·Έλž˜λ¨Έ μ‚¬μ΄μ—μ„œ λ‚˜νƒ€λ‚˜λŠ” 차이점 ν•˜λ‚˜λ§Œ λ“€μžλ©΄, μ „λ¬Έκ°€ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” λͺ…λ£Œν•¨μ΄ μ΅œκ³ λΌλŠ” 사싀을 μ΄ν•΄ν•œλ‹€. μ „λ¬Έκ°€ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” μžμ‹ μ˜ λŠ₯λ ₯을 쒋은 λ°©ν–₯으둜 μ‚¬μš©ν•΄ 남듀이 μ΄ν•΄ν•˜λŠ” μ½”λ“œλ₯Ό λ‚΄λ†“λŠ”λ‹€.(p.31~p.32)
  • 클래슀 이름과 객체 이름은 λͺ…μ‚¬λ‚˜ λͺ…사ꡬ가 μ ν•©ν•˜λ‹€. Cumtomer, WiliPage, Account, AddressParser 등이 쒋은 μ˜ˆλ‹€. Manager, Processor, Data, Info λ“±κ³Ό 같은 λ‹¨μ–΄λŠ” ν”Όν•˜κ³  λ™μ‚¬λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.(p.32)
  • λ©”μ„œλ“œ 이름은 λ™μ‚¬λ‚˜ 동사ꡬ가 μ ν•©ν•˜λ‹€. postPayment, deletePage, save 등이 쒋은 μ˜ˆλ‹€. μ ‘κ·Όμž, λ³€κ²½μž, μ‘°κ±΄μžλŠ” javabean ν‘œμ€€μ— 따라 μ•žμ— get, set, isλ₯Ό 뢙인닀.(p.32)
  • κΈ°λ°œν•œ 이름은 ν”Όν•˜λΌ.(p.32)
  • ν•œ κ°œλ…μ— ν•œ 단어λ₯Ό μ‚¬μš©ν•˜λΌ(p.33)

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

'쒋은 이름을 μ§€μœΌλ €λ©΄ μ‹œκ°„μ΄ κ±Έλ¦¬μ§€λ§Œ 쒋은 μ΄λ¦„μœΌλ‘œ μ ˆμ•½ν•˜λŠ” μ‹œκ°„μ΄ 훨씬 더 λ§Žλ‹€.' λΌλŠ” κ΅¬λ¬Έμ—μ„œ μ™œ κ°œλ°œμ„ ν•  λ•Œ 쒋은 이름을 μ§€μ–΄μ•Ό ν•˜λŠ”μ§€μ— λŒ€ν•΄μ„œ ν™•μ‹€ν•˜κ²Œ 깊게 μ™€λ‹Ώμ•˜λ‹€.

보톡 λ³€μˆ˜λ‚˜ ν•¨μˆ˜ λ“± 이름듀은 μ˜μ–΄λ‘œ μ§“κ²Œ λ˜λŠ”λ° λͺ…사, 동사 λ“± κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ˜ν¬μžμ˜€λ˜ λ‚˜λŠ” μ˜μ–΄ 단어λ₯Ό 많이 μ•Œμ•„μ•Ό 쒋은 이름을 μ‰½κ²Œ 지을 수 μžˆμ„ κ±° 같단 생각도 λ“€μ—ˆλ‹€...

이번 2μž₯μ—μ„œλŠ” μžλ°” μ½”λ“œμ™€ λ‚˜μœ 예, 쒋은 예λ₯Ό 같이 보여 μ£Όλ©΄μ„œ μ™œ κ·Έλ ‡κ²Œ ν•˜λ©΄ μ•ˆλ˜κ³  μ™œ κ·Έλ ‡κ²Œ ν•΄μ•Ό ν•˜λŠ”μ§€ μ„Έμ„Έν•˜κ²Œ μ„€λͺ…이 λ˜μ–΄μžˆμ–΄μ„œ λ§Œμ‘±μŠ€λŸ¬μ› λ‹€.

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

좔상 클래슀, κ΅¬ν˜„ 클래슀, μ½”λ“œ λ“±λ“± μžλ°” μ½”λ“œ κΈ°μ€€μœΌλ‘œ μ„€λͺ…ν•˜κΈ° λ•Œλ¬Έμ— μžλ°”μŠ€ν¬λ¦½νŠΈ 개발자둜 μ€€λΉ„ν•˜λŠ” λ‚˜λ‘œμ¨λŠ” 살짝 '이런 방법이 정말 μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλ„ ν•„μš”ν•˜κ³  이런 상황이 μžˆλŠ”κ°€?' λΌλŠ” 생각이 λ“€μ—ˆλ‹€. κ·Έλž˜μ„œ μ΅œλŒ€ν•œ μ €μžκ°€ μ „ν•˜κ³ μž ν•˜λŠ” λ‚΄μš© μžμ²΄μ— 쀑점을 두고 읽으렀고 ν•΄μ•Όκ² λ‹€.

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

  • 쒋은 이름을 μ§€μœΌλ €λ©΄ μ‹œκ°„μ΄ κ±Έλ¦¬μ§€λ§Œ 쒋은 μ΄λ¦„μœΌλ‘œ μ ˆμ•½ν•˜λŠ” μ‹œκ°„μ΄ 훨씬 더 λ§Žλ‹€.
  • μ˜μ–΄ 곡뢀 ν•˜μž.
  • μ „λ¬Έκ°€ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” λͺ…λ£Œν•¨μ΄ μ΅œκ³ λ‹€.
λ°˜μ‘ν˜•
profile

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

@μš©λ‡½

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