Skip to content

πŸ’š μˆ™ν† λ§ μ•ˆλ“œλ‘œμ΄λ“œ 레포

Notifications You must be signed in to change notification settings

Sooktoring/Sooktoring-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4f93224 Β· Sep 6, 2022

History

60 Commits
Sep 6, 2022
Sep 6, 2022
Mar 27, 2022
Mar 22, 2022

Repository files navigation

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

About

πŸ’š μˆ™ν† λ§ μ•ˆλ“œλ‘œμ΄λ“œ 레포

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages