πŸ“˜ν΄λ¦°μ½”λ“œ (2022.01.25) - 의미 μžˆλŠ” 이름 (2)

μ‹ μœ€μ² Β·2022λ…„ 1μ›” 25일
0

ν΄λ¦°μ½”λ“œ

λͺ©λ‘ 보기
4/22

DAY 5

였늘 읽은 λ²”μœ„

2μž₯ 의미 μžˆλŠ” 이름 ~38p

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

  • 클래슀 이름

    • 클래슀 이름과 객체의 이름은 λͺ…μ‚¬λ‚˜ λͺ…사ꡬ가 μ ν•©ν•˜λ‹€. λ™μ‚¬λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
      • 쒋은 예 : Customer, WikiPage, Account...
      • λ‚˜μœ 예 : Manager, Processor, Data, Info... (무슨? 에 λŒ€λ‹΅μ„ λͺ»ν•¨)
  • λ©”μ„œλ“œ 이름

    • λ©”μ„œλ“œ 이름은 λ™μ‚¬λ‚˜ 동사ꡬ가 μ ν•©ν•˜λ‹€.
    • μ ‘κ·Όμž, λ³€κ²½μž, μ‘°κ±΄μžλŠ” javabean의 ν‘œμ€€μ— 따라 각각 μ•žμ— get, set, isλ₯Ό λΆ™νžŒλ‹€.
      • 쒋은 예 : postPayment, deletePage, savePage...
  • κΈ°λ°œν•œ 이름은 ν”Όν•˜λΌ

    • νŠΉμ • λ¬Έν™”μ—μ„œλ§Œ μ‚¬μš©ν•˜λŠ” λ†λ‹΄μ΄λ‚˜ μœ ν–‰μ–΄λŠ” ν”Όν•˜λŠ” 편이 μ’‹λ‹€.
  • ν•œ κ°œλ…μ— ν•œ 단어λ₯Ό μ‚¬μš©ν•˜λΌ

    • 좔상적인 κ°œλ…ν•˜λ‚˜μ— 단어 ν•˜λ‚˜λ₯Ό 선택해 이λ₯Ό κ³ μˆ˜ν•΄λΌ.
      • DeviceManager와 ProtocolController의 차이λ₯Ό 이해할 수 μžˆλŠ”κ°€?
      • 이름이 λ‹€λ₯΄λ©΄ λ…μžλŠ” λ‹Ήμ—°νžˆ λ‹€λ₯Έ ν΄λž˜μŠ€μ— νƒ€μž…λ„ λ‹€λ₯΄λ‹€ μƒκ°ν•œλ‹€.
  • 말μž₯λ‚œμ„ ν•˜μ§€λ§ˆλΌ

    • ν•œ 단어λ₯Ό 두 κ°€μ§€ λͺ©μ μœΌλ‘œ μ‚¬μš©ν•˜μ§€ 마라.
    • μ•žμ„œ "ν•œ κ°œλ…μ— ν•œ 단어λ₯Ό μ‚¬μš©ν•˜λΌ"λŠ” κ·œμΉ™μ„ λ”°λžλ”λ‹ˆ, μ—¬λŸ¬ ν΄λž˜μŠ€μ— λͺ¨λ‘ addλΌλŠ” λ©”μ„œλ“œκ°€ 생겼닀.
      λ§Œμ•½ 이듀이 λͺ¨λ‘ 같은 λ°˜ν™˜κ°’ 좜λ ₯ν•˜λŠ” 의미(예λ₯Ό λ“€μ–΄ a+b)λ₯Ό κ°–λŠ”λ‹€λ©΄ 상관 μ—†λ‹€.
      ν•˜μ§€λ§Œ μ–΄λ–€ ν΄λž˜μŠ€μ—μ„  λ§μ…ˆ, μ–΄λ–€ ν΄λž˜μŠ€μ—μ„  λ°°μ—΄ μΆ”κ°€λ₯Ό μ˜λ―Έν•œλ‹€λ©΄ 이것은 λ¬Έμ œκ°€ λœλ‹€.
  • 해법 μ˜μ—­μ—μ„œ κ°€μ Έμ˜¨ 이름을 μ‚¬μš©ν•˜λΌ

    • 기술 κ°œλ…μ—λŠ” 기술 이름이 κ°€μž₯ μ ν•©ν•œ 선택이닀.
  • 문제 μ˜μ—­μ—μ„œ κ°€μ Έμ˜¨ 이름을 μ‚¬μš©ν•˜λΌ

    • μ μ ˆν•œ 'ν”„λ‘œκ·Έλž˜λ¨Έ μš©μ–΄'κ°€ μ—†λ‹€λ©΄ 문제 μ˜μ—­μ—μ„œ 이름을 κ°€μ Έμ˜¨λ‹€.
    • μš°μˆ˜ν•œ ν”„λ‘œκ·Έλž˜λ¨Έμ™€ μ„€κ³„μžλŠ” 해법 μ˜μ—­κ³Ό 문제 μ˜μ—­μ„ ꡬ뢄할 쀄 μ•Œμ•„μ•Όν•œλ‹€.
  • 의미 μžˆλŠ” λ§₯락을 μΆ”κ°€ν•˜λΌ

    • 슀슀둜 μ˜λ―Έκ°€ λΆ„λͺ…ν•œ 이름은 μžˆμ§€λ§Œ λŒ€λ‹€μˆ˜λŠ” κ·Έλ ‡μ§€ λͺ»ν•˜λ‹€. λ•Œλ¬Έμ— λ§₯락이 μ€‘μš”ν•˜λ‹€. μ ‘λ‘μ–΄λŠ” λ§ˆμ§€λ§‰ μˆ˜λ‹¨μ΄λ‹€.
      • street, city, state, zipcodeλΌλŠ” λ³€μˆ˜κ°€ μžˆμ„ λ•Œ λ³€μˆ˜λ₯Ό 훑어보면 μ£Όμ†ŒλΌλŠ” 사싀을 μ•Œ 수 μžˆλ‹€.
      • ν•˜μ§€λ§Œ state λ³€μˆ˜ ν•˜λ‚˜λ§Œ μ‚¬μš©ν•  λ•Œ μ£Όμ†Œμ˜ μΌλΆ€λΌλŠ” μ˜λ―ΈμΈμ§€ μ•Œ 수 μžˆμ„κΉŒ?
      • addrStreet, addrCity, addrState처럼 접두어λ₯Ό λΆ™νžˆλ©΄ 더 λ§₯락이 λΆ„λͺ…ν•΄ 질 것이닀.
  • λΆˆν•„μš”ν•œ λ§₯락을 없애라

    • λ§Œμ•½ μ¦κΆŒκ±°λž˜μ†Œ(stock exchange)μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ§ λ‹€κ³  λͺ¨λ“  클래슀 이름을 SEUser, SETrainer... 처럼 SEλ₯Ό λΆ™νž ν•„μš”λŠ” μ—†λ‹€. μ΄λŠ” 맀우 낭비이닀!
    • 일반적으둜 μ˜λ―Έκ°€ λΆ„λͺ…ν•  경우 짧은 이름이 κΈ΄ 이름보닀 μ’‹λ‹€.
    • 이름에 λΆˆν•„μš”ν•œ λ§₯락을 λΆ€μ—¬ν•˜μ§€ 말자.

πŸ™„μ˜€λŠ˜ 읽은 μ†Œκ°μ€? λ– μ˜€λ₯΄λŠ” 생각을 κ°€λ³κ²Œ μ μ–΄λ³΄μ„Έμš”

  • μ§μ ‘μ μœΌλ‘œ λ³€μˆ˜λŠ” μ–΄λ–€μ‹μœΌλ‘œ, ν΄λž˜μŠ€λŠ” μ–΄λ–€μ‹μœΌλ‘œ λͺ…λͺ…ν•˜λΌλŠ” 기쀀이 λ‚˜μ™€μ„œ μ°Έκ³ κ°€ 많이 됐닀. 책에 λ‚˜μ˜¨ 기쀀을 λͺ¨λ‘ μ•”κΈ°ν• λ•ŒκΉŒμ§€λŠ” μ½”λ“œλ₯Ό μ§€λ•Œ 항상 책을 μ˜†μ— 놓고 μž‘μ—…ν•΄μ•Όκ² λ‹€.

  • κΈ°λ°œν•œ 이름은 ν”Όν•˜λ©° ν•œ κ°œλ…μ—” ν•œλ‹¨μ–΄λ₯Ό μ‚¬μš©ν•˜κ³ .. ν•œ 단어λ₯Ό μ—¬λŸ¬ λͺ©μ μœΌλ‘œ μ‚¬μš©ν•˜λ©΄ μ•ˆλ˜λ©΄μ„œ.. 의미 μžˆλŠ” λ§₯락을 μΆ”κ°€ν•˜κ³ ... λΆˆν•„μš”ν•œ λ§₯락을 μ‚­μ œ... μ°Έ μ΄λ¦„μ§“λŠ”κ²Œ 쉽지 μ•Šλ‹€. 많이 μ—°μŠ΅ν•΄λ³΄λŠ”κ²Œ 닡인 것 κ°™λ‹€.

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

  • ν•΄λ²•μ˜μ—­κ³Ό λ¬Έμ œμ˜μ—­μ„ ꡬ뢄할 쀄 μ•Œμ•„μ•Ό ν•œλ‹€λŠ”λ°.. λ‘˜μ˜ κ°œλ…μ΄ 잘 μ •λ¦½λ˜μ§€ μ•ŠλŠ”λ‹€.

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

  • ν΄λž˜μŠ€λ‚˜ 객체 이름은 λͺ…μ‚¬λ‚˜ λͺ…사ꡬ, λ©”μ„œλ“œ 이름은 λ™μ‚¬λ‚˜ 동사ꡬλ₯Ό μ‚¬μš©ν•˜μž.
  • ν•œ κ°œλ…μ— ν•œ λ‹¨μ–΄λ§Œ μ‚¬μš©ν•˜κ³  의미 μžˆλŠ” λ§₯락을 잘 μ΄μš©ν•˜μž.
  • λ‹€λ₯Έ 개발자의 λ°˜λŒ€, 두렀움, κ²ŒμœΌλ¦„ 등에 λΆ€λ”ͺν˜€λ„ μ½”λ“œλ₯Ό κ°œμ„ ν•˜λ €λŠ” λ…Έλ ₯을 μ€‘λ‹¨ν•΄μ„œλŠ” μ•ˆλœλ‹€.
profile
기본을 νƒ„νƒ„ν•˜κ²ŒπŸŒ³

0개의 λŒ“κΈ€