Skip to content

0. Ground Rule

Mase edited this page Jun 30, 2023 · 1 revision

Git Flow

CleanShot 2023-04-23 at 12 40 43@2x
  • 브랜치명
    • main(master)
    • dev
    • 이슈번호-작업명(영문)

Commit Convention

#이슈번호 커밋메세지 커밋제목

- 변경사항
  • 커밋 메세지 목록
    • feat: 새로운 기능 또는 파일 추가
    • refactor: 리팩토링 작업 (로직에는 변경X, 구조나 코드 흐름, 성능 등을 개선)
    • fix: 버그 수정
    • test: 테스트 코드의 추가나 테스트 코드에 대한 리팩토링 작업 (메인 코드는 변경 X)
    • env: plist, build number, 기타 설정 관련 수정 사항
    • move: 파일의 디렉토리 위치를 변경한 경우
    • rename: 파일, 폴더, 패키지 등의 이름만 변경한 경우
    • remove: 파일, 폴더, 패키지, 코드를 삭제한 경우
    • chore: 빌드와 관련된 내부 파일, 세팅 파일 등 수정, 주석의 작성이나 변경
    • docs: 문서 수정(readme)

Issue, Pull Request

  • Issue

    제목: #Issue번호 작업내용
    내용: 구현 및 변경된 사항에 대한 상세 설명, 필요시 사진 또는 영상 첨부
    
    • Assignee 설정
    • Task 단위 이슈 작성 및 branch 분기
  • Pull Request

    • 코드 리뷰 및 개선
    • 완료시 dev branch에 merge

Coding Convention

  • 전반적인 컨벤션은 StyleShare Swift Style Guide를 따르되, 아래 사항만 수정함

    • 최대 줄 길이는 99자까지 허용
      -> 120자 이상: 경고 수준, 140자 이상: 불가
    • 클래스와 구조체 내부에서는 self를 명시적으로 사용
      -> escaping closure에서 self를 capture하거나, 중복된 이름의 프로퍼티와 구분하기 위해 명시하는 경우를 제외하고, 생략할 수 있다면 생략
  • SwiftLint를 Convention Tool로 사용하며, 아래의 Lint Rule을 따름

excluded:
    - Tuist
    
line_length:
    - 120
    - 140
    
disabled_rules:
    - nesting
    - control_statement
    - trailing_whitespace
    - vertical_whitespace
    - vertical_parameter_alignment
    - cyclomatic_complexity
    - void_function_in_ternary
    - comment_spacing
    - function_parameter_count
    - type_name
    - closure_parameter_position
    - identifier_name
    - function_body_length

opt_in_rules:
    - empty_string
    - sorted_imports