๋. ๐๐ป ๋ณ ๐ฉ ํ์ด โ
์๋น์ค๋ช | ์๋น์ค ์๊ฐ |
---|---|
๋ผ์ดํธ ๋ค์ด์ด๋ฆฌ | ๋์ ๋ณ์ ์ํ๋ฅผ ์ฒดํฌํ๊ณ , ์น๊ตฌ์๊ฒ ๋ฐฐ๋ณ ํ๋์ ์์๋ฐ๊ณ , ๋ณ์ ๋ณํ๋ฅผ ์ฃผ๊ฐ ๋ฆฌํฌํธ๋ก ํ์ธํ์ |
์ค์๋น | ์ด์นํ | ๋ฐ์์ | ๊น์ธ์ |
---|---|---|---|
๋ด๋น ๋ทฐ | ๋ด๋น์ | ๊ตฌํ ๊ธฐ๋ฅ ์ค๋ช |
---|---|---|
Main - RecordPopUpView | ์ค์๋น |
ํ๋ก์ ํธ ์ธํ , ๋ง์ดํธ ๊ธฐ๋ก ๋ชจ๋ฌ ๋ทฐ, ๋คํธ์ํฌ ์ธํ ๋ฐ ์ฐ๊ฒฐ |
MainView | ์ด์นํ |
๋ฉ์ธ ๋ทฐ, ๋คํธ์ํฌ ์ฐ๊ฒฐ |
FriendsView | ๋ฐ์์ |
์น๊ตฌ ์์ํ๊ธฐ ๋ทฐ, ๋คํธ์ํฌ ์ฐ๊ฒฐ |
ReportView | ๊น์ธ์ |
๋ง์ดํธ ๋ฆฌํฌํธ ๋ทฐ |
๋ผ์ด๋ธ๋ฌ๋ฆฌ | ์ฌ์ฉ ๋ชฉ์ | Version | Management Tool |
---|---|---|---|
SnapKit | UI Layout | 5.6.0 | SPM |
Then | UI ์ ์ธ | 3.0.0 | SPM |
Moya | ์๋ฒ ํต์ | 15.0.3 | SPM |
โจ Git Branch Convention
- Branch Naming Rule
- Issue ์์ฑ ํ ์์ฑ๋๋ ๋ฒํธ์ Issue์ ๊ฐ๋ตํ ์ค๋ช ๋ฑ์ ์กฐํฉํ์ฌ Branch ์ด๋ฆ ๊ฒฐ์
<Prefix>/<#IssueNumber>-<Description>
- Commit Message Rule
[Prefix] : <Description>
โจ Git Flow
1. ์์
๋จ์๋ณ Issue ์์ฑ : ๋ด๋น์, ๋ผ๋ฒจ, ํ๋ก์ ํธ ์ฐ๊ฒฐ
2. Fork ๋ฐ์ ๋ก์ปฌ ๋ ํฌ์์ develop ๋ธ๋์น ์ต์ ํ : git pull (origin develop)
3. Branch ์์ฑ : git switch -c Prefix/#IssueNumber-description
> ์์) chore/#3-Project-Setting
4. ๋ก์ปฌ ํ๊ฒฝ์์ ์์
ํ Add -> Commit -> Push -> Pull Request์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
Prefix์ ์๋ฏธ
> [Feat] : ์๋ก์ด ๊ธฐ๋ฅ ๊ตฌํ
> [Chore] : ์ฝ๋ ์์ , ํจํค์ง ๊ตฌ์กฐ ๋ณ๊ฒฝ, ํ์ผ ์ด๋, ํ์ผ์ด๋ฆ ๋ณ๊ฒฝ ๋ฑ
> [Add] : ์ฝ๋ ๋ณ๊ฒฝ ์๋ ๋จ์ ํ์ผ ์ถ๊ฐ, ์์
๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ
> [Fix] : ๋ฒ๊ทธ, ์ค๋ฅ ํด๊ฒฐ, ์ฝ๋ ์์
> [Docs] : README๋ WIKI ๋ฑ์ ๋ฌธ์ ๊ฐ์
> [Refactor] : ์ ๋ฉด ์์
> [Setting] : ํ๋ก์ ํธ ์ธํ
5. Pull Request ์์ฑ
- closed : #IssueNumber๋ก ์ด์ ์ฐ๊ฒฐ, ๋ฆฌ๋ทฐ์ด ์ง์
6. Code Review ์๋ฃ ํ Pull Request ์์ฑ์๊ฐ develop Branch๋ก mergeํ๊ธฐ
- Develop Branch protection rules : Merge ์ ์ต์ 1 Approve ํ์
7. ์ข
๋ฃ๋ Issue์ Pull Request์ Label๊ณผ Project๋ฅผ ๊ด๋ฆฌ
โจ Naming & Code Convention
- ํจ์, ๋ฉ์๋ : lowerCamelCase ์ฌ์ฉํ๊ณ , ๋์ฌ๋ก ์์ํ๋ค.
- ๋ณ์, ์์ : lowerCamelCase ์ฌ์ฉํ๋ค.
- ํด๋์ค, ๊ตฌ์กฐ์ฒด, enum, extension ๋ฑ : UpperCamelCase ์ฌ์ฉํ๋ค.
- ๊ธฐ๋ณธ MVC ํด๋๋ง ๊ตฌ์กฐ์ ๋ฐ๋ผ ํ์ผ์ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ๋ค.
- ํ์ผ, ๋ฉ์๋, ํด๋์ค ๋ช
์ฝ์ด ์ฌ์ฉ ์ง์ํ๋ค.
- ์์) ViewController โ
VC (โ)
- ์์) CollectionViewCell โ
CVC (โ)
- ์์) loginButtonDidTap: UIButton ->
loginBtnTapped (โ)
- ์์) ViewController โ
- ์ด์ธ ๊ธฐ๋ณธ ๋ช ๋ช ๊ท์น์ Swift Style Guide, API Design Guidelines , Swift Style Guide๋ฅผ ์ฐธ๊ณ ํ๋ค.
โจ Project Foldering
MyPooDiary
โฃ Network
โ โฃ Base
โ โ โฃ APIConstants
โ โ โฃ Encodable+
โ โ โฃ NetworkLoggerPlugin
โ โฃ Router
โ โฃ DTO
โฃ Global
โ โฃ Extension
โ โฃ Supports
โ โ โฃ AppDelegate.swift
โ โ โ SceneDelegate.swift
โ โ Literals
โ โ Utils
โ โ Resource
โ โ โฃ Assets
โฃ Screens
โ โฃ Main
โ โ โฃ Model
โ โ โฃ View
โ โ โ Controller
โ โฃ Friends
โ โ โฃ Model
โ โ โฃ View
โ โ โ Controller
โ โฃ Report
โ โ โฃ Model
โ โ โฃ View
โ โ โ Controller
โ Info.plist
์ ๊ธฐ/ํผ์น๊ธฐ
- ๊น ์ปจํ๋ฆญํธ๊ฐ ์ด๋ ค์ ๋ค.
ํนํ ์์ ์ ๊ด๋ จํด์ ์๊พธ ์๋ฌ๊ฐ ๋ ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ ์ผ๋จ develop์ ์ ๋๋ก ๋์ด์๋ ์ฝ๋๋ก< br> ํด๋ก ์ ๋ค์ ๋ฐ์์ ์์ ์ ๋ค์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ์๋ค.
๋ทฐ ์ฐ๊ฒฐ ์์ ์ด ๋ฆ์ด์ ธ ์๋ฒ ์ฐ๊ฒฐ์ ์ ๋๋ก ๋ถ์ด์ง ๋ชปํด์ ์์ฝ๋ค.