πŸ“

Source Naming Convention

Β 
λ””λ°”μ΄λ“œ κ°œλ°œμ„ μœ„ν•œ 넀이밍 μ»¨λ²€μ…˜ λ¬Έμ„œμž…λ‹ˆλ‹€.

Source file naming

  • 이름은 CamelCaseλ₯Ό μ‚¬μš©ν•¨
  • ν•˜λ‚˜μ˜ 클래슀만 κ°€μ§€λŠ” 파일이라면 이름은 클래슀 λͺ…κ³Ό 동일
  • 파일 이름은 파일의 μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ„ μ„€λͺ…ν•΄μ•Ό 함

Source file configuration

  • μ½”λ“œλ“€μ΄ 의미적으둜 λ°€μ ‘ν•˜κ²Œ 관련토둝 ν•œλ‹€
  • 파일 크기가 수 백쀄 λ‚΄μ—μ„œ μœ μ§€λ˜λŠ” ν•œ μ—¬λŸ¬ μ„ μ–Έ(클래슀, 속성)듀을 ν•œ μ†ŒμŠ€ νŒŒμΌμ— λ„£λŠ” 것을 ꢌμž₯
    • 클래슀의 ν™•μž₯ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œμ—λŠ” λ™μΌν•œ νŒŒμΌμ— μΆ”κ°€ν•œλ‹€

Class Layout

- properties μ„ μ–Έ 및 init 블둝 - 보쑰 μƒμ„±μž - λ©”μ†Œλ“œ - Companion Object
  • μ•ŒνŒŒλ²³μ΄λ‚˜ 가독성 순으둜 λ©”μ†Œλ“œ 선언을 μ •λ ¬ν•˜μ§€ μ•ŠλŠ”λ‹€
  • 일반 λ©”μ†Œλ“œμ™€ ν™•μž₯ λ©”μ†Œλ“œλ₯Ό λΆ„λ¦¬ν•˜μ§€ μ•ŠλŠ”λ‹€
  • κΈ°λŠ₯적으둜 μ—°κ΄€μžˆλŠ” λ©”μ†Œλ“œλ₯Ό λͺ¨μ€λ‹€
  • μœ„μ—μ„œ μ•„λž˜λ°©ν–₯으둜 μ½μ„λ•Œ λ…Όλ¦¬μ μœΌλ‘œ 이해할 수 μžˆλ„λ‘ μ •λ ¬

  • μ€‘μ²©ν΄λž˜μŠ€λŠ” ν•΄λ‹Ή 클래슀λ₯Ό μ‚¬μš©ν•˜λŠ” μ½”λ“œ κ·Όμ²˜μ— λ‘”λ‹€
  • μ€‘μ²©ν΄λž˜μŠ€κ°€ μ™ΈλΆ€μ—μ„œ μ‚¬μš©λœλ‹€λ©΄ Companion Object λ‹€μŒμ— 배치

  • μ˜€λ²„λ‘œλ”© λ©”μ„œλ“œλŠ” λ˜λ„λ‘ μ„œλ‘œ μ΄μ›ƒν•˜κ²Œ 배치

Class & Package naming

  • νŒ¨ν‚€μ§€ 이름은 항상 μ†Œλ¬Έμžμ΄λ©° underscore( _ )λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€
  • μ—¬λŸ¬λ‹¨μ–΄λ‘œ 된 이름은 ꢌμž₯ν•˜μ§€ μ•Šμ§€λ§Œ, ν•„μš”μ‹œ CamelCaseλ₯Ό μ‚¬μš©ν•œλ‹€
  • ν΄λž˜μŠ€μ™€ 객체 이름은 λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λ©° CamelCaseλ₯Ό μ‚¬μš©ν•œλ‹€
open class DeclarationProcessor { /*...*/ } object EmptyDeclarationProcessor : DeclarationProcessor() { /*...*/ }

Function naming

  • ν•¨μˆ˜μ™€ 속성 및 λ³€μˆ˜ 이름은 μ†Œλ¬Έμžμ™€ CamelCaseλ₯Ό μ‚¬μš©ν•œλ‹€
  • underscore( _ )λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€
fun processDeclarations() { /*...*/ } var declarationCount = 1
Β 
a