-
Notifications
You must be signed in to change notification settings - Fork 5
코딩 컨벤션 & 스타일 가이드
완숙 edited this page Nov 8, 2021
·
18 revisions
-
commit - https://udacity.github.io/git-styleguide/
예시) Feat: message Feat: 새로운 기능 추가 Fix: 버그 해결 Docs: 리드미 작성 Style: 코드 변화가 없는 format 변경 Refactor: 코드 개선, 리팩토링 Test: 테스트 추가, 테스트 코드 리팩토링 Chore: github action으로 인한 yml 수정, project file 수정, gitignore 추가, 폴더 혹은 파일 삭제, asset 추가
-
(function) naming - https://tv.naver.com/v/4980432/list/267189
함수와 변수 이름은 lowerCamelCase로 짓는다. 함수 이름은 동사형으로 짓는다. 주석은 달지 않고 local reasoning이 가능하도록 함수, 변수명을 결정한다. 클래스 내부의 프로퍼티명에는 클래스의 이름을 포함하지 않는다. 축약어를 사용하지 않는다. (i -> identifier, idx -> index 등)
- Property
- weak, private, internal 사이에 공백을 주고 각 프로퍼티 사이에는 공백을 주지 않는다
weak var delegate: Tagable private var model = ViewModel() private var dataSource = DataSource() var example: Int
- Class & Function
- 시작할때 한줄 개행 없이 바로 시작한다
- 끝날때 개행 없이 끝맺음한다
- Constant를 사용할 경우에는 Enum으로 Class 맨 상단에 작성한다
- private는 extension으로 public 함수와 분리한다
-
Guard
- 리턴만 있을 경우 한줄가능 그 이외는 개행
- 여러개를 바인딩하는경우 무조건 개행
-
Optional
- 명시적 언래핑을 사용한다.
- 암시적 언래핑을 사용하지 않는다.
-
PR은 동작 가능한 단위여야 한다.
-
swiftLint를 사용은 하되 auto-correction 기능은 사용하지 않는다.
-
UI 요소 Optional 관련 이슈
- issue
- 모든 UI 변수는 명시적 옵셔널을 사용한다.
🧑🏻💻 박영광 | 👩🏻💻 노신희 | 🧑🏻💻 정택현 | 🧑🏻💻 최완식 |
---|---|---|---|
@poisonF2 | @shinhee-rebecca | @jeffoio | @wansook0316 |