Skip to content

Latest commit

Β 

History

History
108 lines (93 loc) Β· 3.19 KB

README.md

File metadata and controls

108 lines (93 loc) Β· 3.19 KB

Sooktoring-Android

Code Convention

Naming Rules

νŒ¨ν‚€μ§€

  • νŒ¨ν‚€μ§€ 이름은 λͺ¨λ‘ μ†Œλ¬Έμžμ΄λ©° 연속 λ‹¨μ–΄λŠ” 밑쀄 없이 μ—°κ²°λœλ‹€.
    쒋은 예:
    package com.example.deepspace
    λ‚˜μœ 예:
    package com.example.deepSpace
    package com.example.deep_space

클래슀

  • 이름은 PascalCaseλ₯Ό μ μš©ν•œλ‹€.
  • 클래슀 μ΄λ¦„μ—λŠ” 파일의 μ½˜ν…μΈ λ₯Ό μ„€λͺ…ν•˜λŠ” 이름을 μ„ νƒν•œλ‹€.

ν•¨μˆ˜

  • 이름은 camelCase둜 μž‘μ„±λ˜λ©° 일반적으둜 동사 λ˜λŠ” λ™μ‚¬κ΅¬λ‘œ μž‘μ„±ν•œλ‹€.
    ex. sendMessage()

  • Action ν•¨μˆ˜μ˜ 넀이밍은 'μ£Όμ–΄+동사+λͺ©μ μ–΄' ν˜•νƒœλ₯Ό μ‚¬μš©ν•œλ‹€.

    • Tap(λˆŒλ €λ‹€ λ—Œ)은 UIControlEvents의 .touchUpInside에 λŒ€μ‘ν•˜κ³ ,
      Press(λˆ„λ¦„)λŠ” .touchDown에 λŒ€μ‘ν•œλ‹€.
    • will~ 은 νŠΉμ • ν–‰μœ„κ°€ μΌμ–΄λ‚˜κΈ° 직전이고, did~λŠ” νŠΉμ • ν–‰μœ„κ°€ μΌμ–΄λ‚œ 직후이닀.
    • should~ λŠ” 일반적으둜 Bool을 λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜μ— μ‚¬μš©λœλ‹€.

    쒋은 예:

    fun backButtonDidTap() {
    // ...
    }

    λ‚˜μœ 예:

    fun back() {
    // ...
    }
    
    fun pressBack() {
      // ...
    }
  • Unit을 λ°˜ν™˜ν•˜λŠ” @Composable둜 주석 처리된 ν•¨μˆ˜λŠ” PascalCased이며 λͺ…μ‚¬μ²˜λŸΌ 이름이 μ§€μ •λ˜μ–΄ μžˆλ‹€.

    @Composable
    fun NameTag(name: String) {
    // …
    }

λ³€μˆ˜

  • λ³€μˆ˜ μ΄λ¦„μ—λŠ” lowerCamelCaseλ₯Ό μ‚¬μš©ν•œλ‹€.

μƒμˆ˜

  • μƒμˆ˜ μ΄λ¦„μ—λŠ” UPPER_SNAKE_CASEλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°‘μ€„λ‘œ 단어λ₯Ό κ΅¬λΆ„ν•œλ‹€.

μ•½μ–΄

  • μ•½μ–΄λ‘œ μ‹œμž‘ν•˜λŠ” 경우 μ†Œλ¬Έμžλ‘œ ν‘œκΈ°ν•˜κ³ , κ·Έ μ™Έμ˜ κ²½μš°μ—λŠ” 항상 λŒ€λ¬Έμžλ‘œ ν‘œκΈ°ν•œλ‹€. 쒋은 예:
    var userId: Int?
    var HTML: String?
    var websiteUrl: NSURL?
    var URLString: String?
    λ‚˜μœ 예:
    var userID: Int?
    var html: String?
    var websiteURL: URL?
    var urlString: String?

λ¦¬μ†ŒμŠ€ λ£°

  • WHAT_WHERE_DESCRIPTION_SIZE
  • 단점 λ¦¬νŽ™ν† λ§ μžλ™ 미지원
    • WHAT λ¦¬μ†ŒμŠ€κ°€ μ‹€μ œλ‘œ 무엇을 λ‚˜νƒ€λ‚΄λŠ”μ§€ (예:MainActivity - activity)
    • WHERE μ†ν•˜λŠ” μœ„μΉ˜λ₯Ό μ„€λͺ… (에: MainActivity - main)
    • DESCRIPTION ν•œ ν™”λ©΄μ—μ„œ μ—¬λŸ¬ μš”μ†Œλ₯Ό ꡬ뢄 (예: title)
    • SIZE μ •ν™•ν•œ 크기 λ˜λŠ” λ“œλ‘œμ–΄λΈ” 및 치수 (예: 24dp,small)

Layout

  • WHAT_WHERE.xml
  • activity, fragment, view, item, layout (예: activity_main.xml)

XML View Ids

  • WHAT_DESCRIPTION or WHAT_WHERE_DESCRIPTION
  • xml view 이름은 μ•½μ–΄λ‘œ μ‚¬μš©ν•œλ‹€. (예: TextView - tv)
  • DESCRIPTION μ€‘λ³΅λ κ²½μš° WHERE 을 μΆ”κ°€ν•˜μ—¬ λͺ…ν™•νžˆ μ‚¬μš©ν•œλ‹€.
  • (예: tv_title, tv_menu_title)

Strings

  • WHERE_DESCRIPTION
  • 곡톡적인 λ¬Έμžμ—΄μ€ WHERE 에 all λ˜λŠ” common을 μ‚¬μš© (예: article_title, common_number)

Drawables

  • WHAT_DESCRIPTION_SIZE
  • SIZE μƒλž΅ κ°€λŠ₯
  • ic, img, draw....(예: ic_push_24dp)

Dimensions

  • WHAT_WHERE_DESCRIPTION_SIZE
  • WHAT 은 width, height, size, margin....같은 것듀이 λ“€μ–΄κ°ˆ 수 μžˆλ‹€.(예: margin_menu_profileimage_24dp)

μ°Έκ³ : Kotlin Style Guide, Kotlin-code-conventions