| 라이브러리 | 용도 |
|---|---|
| SnapKit | 코드 베이스 UI 작업 시간 최소화 |
| Then | 클로저를 통해 인스턴스에 대한 처리 간결화 |
| Alamofire | 네트워킹 작업 단순화 |
- 함수 :
lowerCamelCase,동사 + 목적어형태 - 변수, 상수 :
lowerCamelCase - 클래스 :
UpperCamelCase - 약어 사용 범위
TableView -> TV
TableViewCell -> TVC
CollectionView -> CV
CollectionViewCell -> CVC
ViewController -> VC
identifier -> id
-
주석
//-> MARK, TODO 주석///-> 문서화 주석 -
MARK 구문
- 10줄 이상의 모든 파일에서는 MARK 구문을 사용합니다.
- 해당하는 MARK 구문만 사용합니다.
// MARK: - Properties // MARK: - Initialization // MARK: - View Life Cycle // MARK: - UI // MARK: - Functions // MARK: - Extension명 // MARK: - Network
1. Issue 생성
2. Branch 생성
3. 작업, commit
4. push
5. PR 작성
6. 코드 리뷰 (24시간 이내)
7. 두 명(권장), 한 명(최소) Approve 받았을 경우 셀프 merge
8. Delete Branch
타입:설명#이슈 번호
Feat: 기능 구현
Fix: 버그 수정
Refactor: 코드 리팩토링
Design: UI 디자인 수정
Docs: 주석, 문서화
Chore: 그 외
- 가장 처음에 붙는 분류 영역에서는, 커밋 컨벤션의 워딩과 동일하게 작성합니다.
분류/#이슈 번호-작업 내용
chore/#3-ProjectSetting
feat/#3-GameLogic
fix/#5-DictionaryDetail
refactor/#1-Vision- 본인의
PR은 본인이Merge합니다. - 최대한 빨리, 최대 24시간 이내에 코드 리뷰를 등록합니다.
- Approve를 최소 1명한테 받아야 Merge가 가능합니다.
- 2명이 최대한 Approve 줄 수 있도록 합시다!
- 코드 리뷰를 하면서 필수적인 수정 사항을 발견할 경우,
Approve대신Request Changes를 주어 수정을 요구합니다.- 해당
PR작업자는, 수정 사항을 반영하여 새로commit을 추가한 후, 해당PR에push하여Re-request review를 요청합니다.Request Changes: 컨벤션Approve: 일단 OK! 로직, 리팩토링 가능한 부분, 더 나은 코드를 위한 제안 등
- 해당
- 모든 작업이 완료되어
Merge가 된 경우, 해당PR하단의Delete Branch를 선택하여 작업이 끝난Branch를 삭제합니다.
├── Application
│ ├── AppDelegate.swift
│ └── SceneDelegate.swift
├── Global
│ ├── Base
│ ├── Extensions
│ ├── MessageType.swift
│ └── UserToken.swift
├── Info.plist
├── Model
├── Network
│ ├── APIEssentials
│ ├── APIManagers
│ ├── Bases
│ ├── EvenLogger.swift
│ └── Services
├── Protocols
├── Resources
│ ├── Assets.xcassets
│ ├── Fonts
│ └── WordDictionary.swift
└── Sources
├── Components
└── Scences
├── Auth
├── Base.lproj
├── Dictionary
├── Game
├── Main
└── Tutorial