Skip to content

컨벤션

Seyoung Kim edited this page Nov 7, 2022 · 2 revisions

코딩 컨벤션

// 내장 프레임워크
import UIKit

// 서드파티 프레임워크
import SwiftyColor
import SwiftyImage
import Then
import URLNavigator

class SomeClass {
  
	// UI (View)

  // Properties

  // Computed Properties

  // Init

  // Methods
}

// MARK: - @objc Methods
extension ViewController {}

// MARK: - Bind ViewModel
extension ViewController {}

class S {

	// MARK: - Properties
	let a = 1

	// MARK: - Methods
	func foo() {
		//...
	}
}

프로그래밍 권장사항

  • self는 다 쓴다.
  • final은 상속이 필요하지 않은 class에 모두 명시한다.
  • 프로토콜을 적용할 때는 extension을 만들어 관련된 메서드 구현한다.
  • 컬러의 경우 Assets.xcassetes에 등록 후, UIColorextension으로 관리한다.
  • 클래스는 한 줄 띄우고, 메소드는 띄우지 않고 바로 작성한다.
  • 모듈 임포트는 알파벳 순으로 정렬한다. 내장 프레임워크를 먼저 임포트하고, 빈 줄로 구분하여 서드파티 프레임워크를 임포트한다.

커밋 컨벤션

커밋은 다음 형태로 작성합니다.

👉 (이슈 번호) keyword: 커밋 메시지
  • fix: 버그, 오류 해결
  • chore: 코드 수정, 내부 파일 수정 등 잡일 모두
  • add: Asset 추가, 라이브러리 추가, 새로운 파일 생성
  • feat: 새로운 기능 구현
  • remove: 쓸모없는 코드, 파일 삭제
  • docs: README, WIKI 등의 문서 개정
  • style: 뷰 관련 작업
  • move: 프로젝트 내 파일 이동
  • rename: 파일 이름 변경
  • refactor: 동작 결과는 같으나 코드 자체 전면 수정 및 성능 개선
  • test: 테스트와 관련된 모든 활동, 테스트 코드 추가, 테스트 코드 수정

PR 컨벤션

PR 메시지는 다음과 같이 작성한다.

👉 PR 이름

- 이슈 1
    - 작업 사항 1
    - 작업 사항 2
- 특이사항
  • Reviewer는 자신을 제외한 팀원 3명을 추가한다.
  • Assignee는 자신을 추가한다.
  • PR에서 개발한 기능에 맞는 레이블을 추가한다.
  • 주석 처리된 부분은 모두 제거한다.
Clone this wiki locally