Skip to content

Latest commit

Β 

History

History
78 lines (56 loc) Β· 3.74 KB

Item_68._naming_convention.md

File metadata and controls

78 lines (56 loc) Β· 3.74 KB

Item 68. 일반적으둜 ν†΅μš©λ˜λŠ” λͺ…λͺ… κ·œμΉ™μ„ λ”°λ₯΄λΌ

μžλ°”μ˜ 철자 κ·œμΉ™

νŒ¨ν‚€μ§€, 클래슀, μΈν„°νŽ˜μ΄μŠ€, λ©”μ„œλ“œ, ν•„λ“œ, νƒ€μž… λ³€μˆ˜μ˜ 이름 μ² μžμ— λŒ€ν•œ νŠΉμ§•

νŒ¨ν‚€μ§€/λͺ¨λ“ˆ

  • 점(.)으둜 ꡬ뢄, 계측적 ꡬ쑰
  • μ†Œλ¬Έμžμ™€ 숫자둜만 κ΅¬μ„±ν•˜λ©° λŒ€λ¬Έμž νŠΉμˆ˜λ¬ΈμžλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것을 ꢌμž₯
    • μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€, 카멜 μΌ€μ΄μŠ€ 등을 쓰지 μ•Šλ„λ‘ μ£Όμ˜ν•΄μ•Ό 함
  • 인터넷 도메인 μ΄λ¦„μ˜ μ—­μˆœμœΌλ‘œ ꡬ성
    • com, org λ“±μœΌλ‘œ μ‹œμž‘ν•˜λŠ” κ²½μš°κ°€ 많음
    • java, javax와 같은 ν‘œμ€€ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ˜ˆμ™Έ
  • μ΅œμƒμœ„ 도메인λͺ… μ΄ν›„λ‘œλŠ” 그룹을 잘 λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” μš”μ†Œ 이름을 μ‚¬μš©
    • λŒ€λ¬Έμžμ™€ 특수문자(ν•˜μ΄ν”ˆ, 언더바 λ“±)λ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” 만큼 μ•½μ–΄λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ—¬λŸ¬ λ‹¨μ–΄λ‘œ μ΄λ£¨μ–΄μ§ˆ 경우 각 λ‹¨μ–΄μ˜ μ•žκΈ€μžλ§Œ λ”°μ„œ μ‚¬μš©ν•˜λŠ” 것을 μΆ”μ²œ

클래슀/μΈν„°νŽ˜μ΄μŠ€/특수클래슀(μ—΄κ±° νƒ€μž…, μ–΄λ…Έν…Œμ΄μ…˜)

  • 첫 단어λ₯Ό λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λ©° 단어 κ°„ λŒ€λ¬Έμž μ—°κ²° (파슀칼 μΌ€μ΄μŠ€)
  • ν†΅μš©λ˜λŠ” μ€„μž„λ§(max, min λ“±)을 μ œμ™Έν•˜κ³ λŠ” μ€„μž„λ§μ„ 쓰지 μ•ŠλŠ” 것이 μ’‹μŒ
  • μ•½μžμ˜ κ²½μš°μ—λ„ λͺ¨λ‘ λŒ€λ¬Έμžλ‘œ μ“°κΈ°λ³΄λ‹€λŠ” 첫 κΈ€μžλ§Œ λŒ€λ¬Έμžλ‘œ μ“°λŠ” 편이 ν•΄λ‹Ή μ•½μžμ˜ 처음과 끝을 λͺ…ν™•νžˆ μ•Œ 수 μžˆμ–΄μ„œ μ’‹μŒ
    • HttpURL (X), HttpUrl (O)

λ©”μ„œλ“œ/ν•„λ“œ

  • 첫 단어λ₯Ό μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜λ©° 단어 κ°„ λŒ€λ¬Έμž μ—°κ²° (카멜 μΌ€μ΄μŠ€)
  • μƒμˆ˜ ν•„λ“œλŠ” μ˜ˆμ™Έμ μœΌλ‘œ λΆˆλ³€μ„±μ„ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ λŒ€λ¬Έμžμ™€ 언더바λ₯Ό μ‚¬μš©
  • 클래슀/μΈν„°νŽ˜μ΄μŠ€μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ μ•½μ–΄λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μœΌλ‚˜, μ§€μ—­λ³€μˆ˜λŠ” ν•΄λ‹Ή μŠ€μ½”ν”„ λ‚΄μ—μ„œ μ‰½κ²Œ λ¬Έλ§₯을 μœ μΆ”ν•  수 μžˆλŠ” 경우 μ•½μ–΄λ₯Ό 써도 μ’‹μŒ

νƒ€μž… λ§€κ°œλ³€μˆ˜

  • ν•œ 문자둜 ν‘œν˜„ν•˜λ©°, μ•„λž˜ 5가지 쀑 ν•˜λ‚˜λ₯Ό μ‚¬μš©ν•΄ 의미λ₯Ό ν‘œν˜„ν•˜κΈ° 쉬움
    • T(type): μž„μ˜μ˜ νƒ€μž…
    • E(element): μ»¬λ ‰μ…˜μ˜ μ›μ†Œ
    • K, V(key, value): 맡의 킀와 κ°’
    • X(exception): μ˜ˆμ™Έ
    • R(return): λ©”μ„œλ“œμ˜ λ°˜ν™˜ νƒ€μž…

μžλ°”μ˜ 문법 κ·œμΉ™

클래슀, μΈν„°νŽ˜μ΄μŠ€, λ©”μ„œλ“œ, ν•„λ“œ, νƒ€μž… λ³€μˆ˜μ˜ 이름에 μ‚¬μš©λ˜λŠ” 문법적 νŠΉμ§•

클래슀, μ—΄κ±° νƒ€μž…

  • λ‹¨μˆœ λͺ…사, λͺ…사ꡬ
  • 객체λ₯Ό 생성할 수 μ—†λŠ” 클래슀(μƒνƒœκ°’μ΄ μ—†λŠ”, λ‹¨μˆœνžˆ νŠΉμ • κΈ°λŠ₯λ§Œμ„ μˆ˜ν–‰ν•˜λŠ” 클래슀)의 경우 λ³΅μˆ˜ν˜• λͺ…사 μ‚¬μš©μ„ ꢌμž₯
    • Collections, StringUtils λ“±

μΈν„°νŽ˜μ΄μŠ€

  • ν΄λž˜μŠ€μ™€ λ™μΌν•œ κ·œμΉ™μ„ λ”°λ₯΄κ±°λ‚˜, νŠΉμ • 행동이 κ°€λŠ₯함을 λ‚˜νƒ€λ‚΄λŠ” ν˜•μš©μ‚¬(able, ible) μ‚¬μš©
    • Runnable, Accessible

μ–΄λ…Έν…Œμ΄μ…˜

  • 정해진 κ·œμΉ™μ΄ μ—†μœΌλ©° λͺ…사, 동사, ν˜•μš©μ‚¬ 등이 λ‹€μ–‘ν•˜κ²Œ μ‚¬μš©λ¨

λ©”μ„œλ“œ

  • 동사, 동사ꡬ
  • boolean을 λ°˜ν™˜ν•˜λŠ” 경우 is, has λ“±μœΌλ‘œ μ‹œμž‘
  • μΈμŠ€ν„΄μŠ€ λ‚΄ ν•„λ“œκ°’μ„ λ°˜ν™˜ν•˜λŠ” λ©”μ„œλ“œλŠ” λ‹€μŒκ³Ό 같은 ν˜•μ‹μ„ 선택
    1. get~
      • μžλ°”λΉˆμ¦ˆ(JavaBeans)μ—μ„œ 주둜 μ‚¬μš©ν•˜λŠ” λͺ…λͺ… κ·œμΉ™ (getter, setter)
    2. λ°˜ν™˜ν•˜λŠ” ν•„λ“œλͺ…κ³Ό λ™μΌν•œ λͺ…사(ꡬ)
  • 객체의 νƒ€μž…μ„ λ³€κ²½ν•΄ λ‹€λ₯Έ νƒ€μž…μ˜ μƒˆ 객체λ₯Ό λ°˜ν™˜ν•˜λŠ” μΈμŠ€ν„΄μŠ€μ˜ 경우 toType ν˜•νƒœλ‘œ λͺ…λͺ…
    • toString, toArray λ“±
  • 객체의 λ‚΄μš©μ„ λ‹€λ₯Έ νƒ€μž…μ˜ 뷰둜 λ³΄μ—¬μ£ΌλŠ” λ©”μ„œλ“œλŠ” asType ν˜•νƒœλ‘œ λͺ…λͺ…
    • asList λ“±
  • 정적 νŒ©ν„°λ¦¬μ˜ 이름은 from, of, valueOf λ“± 정해진 κ·œμ•½ λ‚΄μ—μ„œ 선택
    • μ•„μ΄ν…œ 1 μ°Έμ‘°

ν•„λ“œ

  • (APIλ₯Ό 잘 μ„€κ³„ν–ˆλ‹€λ©΄) 외뢀에 λ…ΈμΆœλ  일이 μ—†λŠ” κ²½μš°κ°€ λ§ŽμœΌλ―€λ‘œ κ°€μž₯ λͺ…λͺ… κ·œμΉ™μ˜ 영ν–₯을 덜 λ°›μŒ
  • λͺ…사, λͺ…사ꡬλ₯Ό μ‚¬μš©
  • boolean ν•„λ“œμ˜ 경우 ν•΄λ‹Ή ν•„λ“œμ˜ μ ‘κ·Όμž λ©”μ„œλ“œμ—μ„œ is, hasλ₯Ό μ œμ™Έν•œ ν˜•νƒœ