Skip to content

CodingConvention

LEE WON SEOK edited this page Jul 3, 2021 · 8 revisions

Coding Convention

ํด๋”๊ตฌ์กฐ

๐Ÿ—‚ Resources

    - AppDelegate

    - SceneDelegate

    - Assets
    
    - APIServices ๐Ÿ—‚

    - Storyboards ๐Ÿ—‚

    - Font ๐Ÿ—‚

๐Ÿ—‚ Sources

    - VC ๐Ÿ—‚

        - CherishMain ๐Ÿ—‚

        - Watering ๐Ÿ—‚

        - AddUser ๐Ÿ—‚

        - ...

    - Class ๐Ÿ—‚

    - Cell ๐Ÿ—‚

    - Model ๐Ÿ—‚

    - Extension ๐Ÿ—‚

info.plist

ํด๋”๋ง ๊ทœ์น™

  • ํด๋”๋ง ํ•œ ํ›„ Sources ํด๋”์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์€ ๊ฐ ํŒŒ์ผ ํ•˜์œ„์— ์ž์‹  ์Šคํ† ๋ฆฌ๋ณด๋“œ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    Sources

  • ํŒŒ์ผ ๋„ค์ด๋ฐ ์‹œ, ์ ‘๋‘์— ์Šคํ† ๋ฆฌ๋ณด๋“œ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ๋„ค์ด๋ฐํ•ฉ๋‹ˆ๋‹ค.

    • (ex. ์Šคํ† ๋ฆฌ๋ณด๋“œ ์ด๋ฆ„์ด Main, Watering์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ cellํŒŒ์ผ ์ƒ์„ฑ ์‹œ MainBlahblahCVC, WateringBlahblahTVC์™€ ๊ฐ™์ด ๋„ค์ด๋ฐํ•ฉ๋‹ˆ๋‹ค.)

๋„ค์ด๋ฐ

Class & Struct

  • ํด๋ž˜์Šค/๊ตฌ์กฐ์ฒด ์ด๋ฆ„์€ UpperCamelCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํด๋ž˜์Šค ์ด๋ฆ„์—๋Š” ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ์ข‹์€ ์˜ˆ

    class CherishTVC: UITableViewCell

    ๋‚˜์œ ์˜ˆ

    struct cherishCVCInfo { }

ํ•จ์ˆ˜ & ๋ณ€์ˆ˜ & ์ƒ์ˆ˜

  • ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜์—๋Š” lowerCamelCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒ„ํŠผ๋ช…์—๋Š” Btn ์•ฝ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋“  IBOutlet์—๋Š” ํ•ด๋‹น ํด๋ž˜์Šค๋ช…์„ ๋’ค์— ๋ถ™์ž…๋‹ˆ๋‹ค.

    • ~~ImageView, ~~Label, ~~TextField์™€ ๊ฐ™์ด ์†์„ฑ๊ฐ’์„ ๋ถ™์—ฌ์ค๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ” ๋ทฐ๋Š” TV, ์ปฌ๋ ‰์…˜๋ทฐ๋Š” CV๋กœ ์ค„์—ฌ์„œ ๋„ค์ด๋ฐํ•ฉ๋‹ˆ๋‹ค.

  • ํ…Œ์ด๋ธ” ๋ทฐ ์…€์€ TVC, ์ปฌ๋ ‰์…˜๋ทฐ ์…€์€ CVC๋กœ ์ค„์—ฌ์„œ ๋„ค์ด๋ฐํ•ฉ๋‹ˆ๋‹ค.

    ์ข‹์€ ์˜ˆ

    @IBOutlet weak var wateringBtn: UIButton!
    @IBOutlet weak var cherishMainView: UIView!
    @IBOutlet weak var cherishTV: UITableView!

    ๋‚˜์œ ์˜ˆ

    @IBOutlet weak var ScrollView: UIScrollView!
    @IBOutlet weak var cherishcollectionview: UICollectionView!
    @IBOutlet weak var tagcollectionview: UICollectionView!
    @IBOutlet weak var tableview: UITableView!

์ฃผ์„

  • // MARK: ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ด€๋œ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ถ„์ง“์Šต๋‹ˆ๋‹ค.
  • /// ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์„œํ™”์— ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์„์„ ๋‚จ๊น๋‹ˆ๋‹ค. (ex. /// ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ๊ทธ๋ ค์ฃผ๋Š” ๋ทฐ)

๊ธฐํƒ€

  • viewDidLoad() ๋‚ด์—๋Š” Function๋งŒ ์œ„์น˜์‹œํ‚ต๋‹ˆ๋‹ค.
  • ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„๋“ค์€ +Extension.swift๋กœ ๋งŒ๋“ค์–ด ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์ธ์ปฌ๋Ÿฌ์™€ ๊ฐ™์ด ์ž์ฃผ ์“ฐ์ด๋Š” ์ปฌ๋Ÿฌ๋“ค์€ Asset์— Color Set์„ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • , ๋’ค์— ๋ฐ˜๋“œ์‹œ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜๋ผ๋ฆฌ 1์ค„ ๊ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ค‘๊ด„ํ˜ธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
if (condition){

  Statements
  /*
  ...
  */
  
}

Commit Messge Rules

  • ๋ฐ˜์˜์‚ฌํ•ญ์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์€ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋ผ๋„ ๊ตฌํ˜„๋˜๋ฉด ์ปค๋ฐ‹์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ปค๋ฐ‹ํ•  ๋• iOS ์Šฌ๋ž™์— ๋…ธํ‹ฐํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์™„๋ฒฝํ•˜์ง€ ์•Š์„ ๋•, ๊ฐ์ž ๋ธŒ๋žœ์น˜์— ์ปค๋ฐ‹์„ ํ•ด์ฃผ์„ธ์š”.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๋ช…๋ น์–ด ๋ชจ์Œ

- feat    : ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
- fix     : ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
- refactor: ๋ฆฌํŒฉํ† ๋ง
- style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- docs    : ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
- test    : ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- chore   : ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ๋“ฑ)

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ํ˜•์‹

  • [์ปค๋ฐ‹๋ฉ”์„ธ์ง€] ์„ค๋ช… ํ˜•์‹์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์˜์–ด ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
    ์ข‹์€ ์˜ˆ

    [Feat] fetchcontacts!
    

    ๋‚˜์œ ์˜ˆ

    ์—ฐ๋ฝ์ฒ˜ ๋™๊ธฐํ™” ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    

Github mangement

  • main ๋ธŒ๋žœ์น˜

๋ฉ”์ธ(main): ๋ฉ”์ธ ๋ธŒ๋žœ์น˜

๊ธฐ๋Šฅ(cherish๋ทฐ์ด๋ฆ„): ๊ธฐ๋Šฅ๋ณ„ (๋ทฐ๋ณ„) ๋กœ์ปฌ ๋ธŒ๋žœ์น˜

  • ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ์จ์ฃผ์„ธ์š”.

  • ํ’€๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ณด์•„์š”.


- Main
   โ”œโ”€โ”€ cherishMainView(๊ฐ Local Branch)
   โ”œโ”€โ”€ cherishAddView    
   โ””โ”€โ”€ cherishWateringView

๊ฐ์ž ์ž์‹ ์ด ๋งก์€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์„ฑ๊ณต์‹œ! ๋ธŒ๋žœ์น˜ ๋‹ค ์“ฐ๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ธŒ๋žœ์น˜ ๋งŒ๋“ฆ
git branch ๊ธฐ๋Šฅ(or ๋ทฐ)์ด๋ฆ„
  • ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋กœ์ปฌ ๋ธŒ๋žœ์น˜ push
git push --set-upstream origin ๋ธŒ๋žœ์น˜์ด๋ฆ„(๋ทฐ์ด๋ฆ„)
git push -u origin ๋ธŒ๋žœ์น˜์ด๋ฆ„(๋ทฐ์ด๋ฆ„)
  • ๋ธŒ๋žœ์น˜ ์ „ํ™˜
git checkout ๋ทฐ์ด๋ฆ„
  • ์ฝ”๋“œ ๋ณ€๊ฒฝ (ํ˜„์žฌ ๋ทฐ์ด๋ฆ„ ๋ธŒ๋žœ์น˜)
git add .
git commit -m "์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€" origin ๋ทฐ์ด๋ฆ„
  • ํ‘ธ์‹œ (ํ˜„์žฌ ๋ทฐ์ด๋ฆ„ ๋ธŒ๋žœ์น˜)
git push origin ๋ทฐ์ด๋ฆ„ ๋ธŒ๋žœ์น˜
  • ๋ทฐ์ด๋ฆ„ ๋ธŒ๋žœ์น˜์—์„œ ํ•  ์ผ ๋‹ค ํ–ˆ์œผ๋ฉด main ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜
git checkout main
  • ๋จธ์ง€ (ํ˜„์žฌ main ๋ธŒ๋žœ์น˜)
git merge ๋ทฐ์ด๋ฆ„
  • ๋‹ค ์“ด ๋ธŒ๋žœ์น˜ ์‚ญ์ œ (local) (ํ˜„์žฌ main ๋ธŒ๋žœ์น˜)
git branch -d ๋ทฐ์ด๋ฆ„
  • ๋‹ค ์“ด ๋ธŒ๋žœ์น˜ ์‚ญ์ œ (remote) (ํ˜„์žฌ main ๋ธŒ๋žœ์น˜)
git push origin :๋ทฐ์ด๋ฆ„
  • main pull (ํ˜„์žฌ main ๋ธŒ๋žœ์น˜)
git pull or git pull origin main
  • main push (ํ˜„์žฌ main ๋ธŒ๋žœ์น˜)
git push or git push origin main
Clone this wiki locally