Skip to content

2. Android Coding Convention

choiyoungjin edited this page Jun 23, 2023 · 1 revision

μ•ˆλ“œλ‘œμ΄λ“œ μ½”λ”© μ»¨λ²€μ…˜ μš”μ•½

1. μ•Œμ•„λ‘λ©΄ 쒋은 단좕킀

1.1 μœˆλ„μš°

  • Ctrl + Alt + L -> μ½”λ“œ μ •λ ¬
  • Ctrl + Alt + O -> μ“Έλͺ¨μ—†λŠ” μž„ν¬νŠΈ 제거
  • / + Ctrl -> 주석좔가 및 ν•΄μ œ
  • Ctrl + P -> νŒŒλΌλ―Έν„° 미리보기
  • Ctrl + (μ΄λ™ν•˜κ³  싢은 파일)쒌클릭 -> ν΄λ¦­ν•œ 파일둜 이동
  • Ctrl + Shift + K ->GitHub push 단좕어
  • Ctrl + Shift + F -> 전체 검색
  • Shift + F6 -> 파일λͺ… 및 λ³€μˆ˜λͺ… λ³€κ²½

1.2 λ§₯뢁

  • Option + Command + L -> μ½”λ“œ μ •λ ¬
  • Ctrl + Option + O -> μ“Έλͺ¨μ—†λŠ” μž„ν¬νŠΈ 제거
  • / + Command -> 주석좔가 및 ν•΄μ œ
  • Command + P -> νŒŒλΌλ―Έν„° 미리보기
  • Command + (μ΄λ™ν•˜κ³  싢은 파일)쒌클릭 -> ν΄λ¦­ν•œ 파일둜 이동
  • Shift + Command + K ->GitHub push 단좕어
  • Shift + Command + F -> 전체 검색
  • Fn + Shift + F6 -> 파일λͺ… 및 λ³€μˆ˜λͺ… λ³€κ²½

2. 넀이밍

2.1. λ ˆμ΄μ•„μ›ƒ View 넀이밍 μ˜ˆμ‹œ

  • @+id/tv_login
  • @+id/et_password
  • @+id/btn_login

2.1.1. λ ˆμ΄μ•„μ›ƒ View 레이밍 μΉ΄ν…Œκ³ λ¦¬

  • TextView -> tv_
  • ImageView -> iv_
  • EditText -> et_
  • Button, ImageButton -> btn_ (일반 λ²„νŠΌμ΄ μ•„λ‹ˆλΌ marterial button μ‚¬μš©ν•  κ²ƒμž…λ‹ˆλ‹Ή)
  • ConstraintLayout -> layout_
  • BottonNavitaionView -> bnv_

2.2. 파일λͺ…

  • xml 파일λͺ… -snake_case 적용
    • activity_sign_in.xml, fragment_sign_up.xml, item_user.xml (λ¦¬μ‚¬μ΄ν΄λŸ¬λ·° μ•„μ΄ν…œ λ ˆμ΄μ•„μ›ƒμ€ β€œitem_β€λ‘œ μ‹œμž‘!)
  • Drawable 파일λͺ…
    • μ—­μ‹œ xml 이기 λ•Œλ¬Έμ— snake_caseλ₯Ό μ μš©ν•œλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ μ•„λž˜λ₯Ό μ°Έκ³ ν•œλ‹€.
    • icon은 β€œic_” -> ic_error.xml
    • imageλŠ” β€œimg_” -> img_default_user.png
    • shapeλŠ” β€œshape_” -> shape_border_radius10.xml
    • selectorλŠ” β€œselector_” -> selector_edittext_background.xml
  • 클래슀 파일λͺ…
    • UpperCamelCase 적용
    • MainActivity.kt, UserViewModel.kt, WriteFragment.kt, UserInfo.kt
  • ν•¨μˆ˜λͺ…
    • λ™μ‚¬ν˜•νƒœλ‘œ μž‘μ„±ν•˜κ³ , lowerCamelCase 적용
    • fun showList(), fun updateContacts()
  • λ³€μˆ˜λͺ…
    • λͺ…μ‚¬ν˜•νƒœλ‘œ μž‘μ„±ν•˜κ³ , lowerCamelCase 적용
    • isEnd(Boolean νƒ€μž… μ œμ™Έ), viewPagerAdapter