ν루 ν μ»·μ μ¬μ§κ³Ό ν€μλ λΆμμ΄ μλ €μ£Όλ λμ ν볡, ν΄ν½
30th THE SOPT APP JAM
νλ‘μ νΈ κΈ°κ° : 2022.07.02 ~ 2022.07.23
μ΄μΈμ§ | μ€μλΉ | κ°μΉν |
lsj8706 | devxsby | ZaidKang |
- Development Environment
- Library
λΌμ΄λΈλ¬λ¦¬ | μ¬μ© λͺ©μ | Version | Management Tool |
---|---|---|---|
Alamofire | μλ² ν΅μ | 5.6.1 | SPM |
SnapKit | UI Layout | 5.0.0 | SPM |
Then | UI μ μΈ | 3.0.0 | SPM |
Kingfisher | μ΄λ―Έμ§ μ²λ¦¬ | 7.2.4 | SPM |
Tabman | λ·° νμ΄μ 컀μ€ν | 2.12.0 | SPM |
pageboy | λ·° νμ΄μ 컀μ€ν | 3.6.2 | SPM |
- framework
νλ μμν¬ | μ¬μ© λͺ©μ |
---|---|
UIKit | UI ꡬν |
β¨ Git Branch Convention
- Branch Naming Rule
- Issue μμ± ν μμ±λλ λ²νΈμ Issueμ κ°λ΅ν μ€λͺ λ±μ μ‘°ν©νμ¬ Branch μ΄λ¦ κ²°μ
<Prefix>/<#IssueNumber>-<Description>
- Commit Message Rule
[Prefix] : <Description>
- Code Review Rule
- μ½λ 리뷰λ μ΅λν 빨리 νλ€.
- μ½λ 리뷰λ μ΅λν μ μ±κ» νλ€.
β¨ 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] : λ²κ·Έ, μ€λ₯ ν΄κ²°, μ½λ μμ
> [Style] : μ½λ ν¬λ§·ν
, μ½λ λ³κ²½μ΄ μλ κ²½μ°, μ£Όμ μμ
> [Docs] : READMEλ WIKI λ±μ λ¬Έμ κ°μ
> [Refactor] : μ λ©΄ μμ μ΄ μμ λ μ¬μ©ν©λλ€
> [Test] : ν
μ€νΈ λͺ¨λ, 리νν λ§ ν
μ€νΈ μ½λ μΆκ°
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 β
- μ΄κΈ° UI λ μ΄μμ μ‘μμ€λλ§ configure ν€μλλ₯Ό μ¬μ©νκ³ , μ΄μΈλ set ν€μλλ₯Ό μ¬μ©νλ€.
- μμ) func configureUI β
func setUI (β)
- μμ) func setDelegate ... β
func configureDelegate (β)
- μμ) func configureUI β
- μ΄μΈ κΈ°λ³Έ λͺ λͺ κ·μΉμ Swift Style Guide, API Design Guidelines , Swift Style Guideλ₯Ό μ°Έκ³ νλ€.
- μμλ°μ§ μλ ν΄λμ€λ final ν€μλλ₯Ό λΆμΈλ€.
- λ¨μΌ μ μ λ΄μμλ§ μ¬μ©λλ νΉμ κΈ°λ₯ ꡬνμ private μ κ·Ό μ νμλ₯Ό μ κ·Ή μ¬μ©νλ€.
- ν΅ν¬νκΈ°λ₯μ νμ©ν λ§ν¬μ λ¬Έλ²μ νμ©ν μ£Όμμ μ κ·Ή μ¬μ©νλ€.
- μ΄μΈλ 컀μ€ν
ν SwiftLint Ruleμ μ μ©νλ€.
- μ μΈμ¬ν
- trailing_whitespace
- identifier_name
- line_length
- type_name
β¨ Project Foldering
Happic-iOS
β£ Base.lproj
β β Main.storyboard
β£ Global
β β£ Literal
β β£ Base
β β£ Protocols
β β£ Util
β β£ Extension
β β£ Resource
β β β£ Assets.xcassets
β β β β£ AccentColor.colorset
β β β β β Contents.json
β β β β£ AppIcon.appiconset
β β β β β Contents.json
β β β β Contents.json
β β β Base.lproj
β β β β LaunchScreen.storyboard
β β£ Supports
β β β£ AppDelegate.swift
β β β SceneDelegate.swift
β β UIComponent
β£ Network
β β£ APIService
β β£ Foundation
β β Model
β£ Screens
β β£ Auth
β β£ CreateCharacter
β β£ CreateContents
β β£ HappicCapsule
β β£ HappicReport
β β£ HaruHappic
β β£ Home
β β£ Setting
β β Tabbar
β Info.plist