Skip to content

템플릿

Kim Ui Taek edited this page Mar 25, 2025 · 2 revisions

템플릿 및 깃 컨벤션

대부분의 컨벤션은 스터디북에서 나왔던 깃허브의 Swift Style Guide를 따르면 될듯합니다.

https://github.com/StyleShare/swift-style-guide

여기서는 중요한 컨벤션과 코딩 편의성을 높여주는 요소들만 짧게 정리하였습니다.

특히 코딩컨벤션 - 주석파트에 편리한게 많더라구요. 꼭 확인해주세요!


📋 코딩 컨벤션

임포트

  • 내장 프레임워크를 먼저 적고 한줄 띄워 서드파티 프레임워크 임포트
  • 적는 순서는 알파벳 순으로 정렬

  • 1탭 = 4 스페이스 (Xcode 설정에서 바꿀수 있습니다)
  • Xcode 코드 에디터에서 코드를 선택하고 Control + i 를 누르면 자동 줄 정리를 해줍니다

네이밍

  • 클래스, 구조체, 열거형(enum) → UpperCamelCase

  • 함수, 변수, 상수 → lowerCamelCase

    • 액션 함수의 경우 주어 + 동사 + 목적어 의 형태로 사용 ex) backButtonDidTap()
  • 이름속에 들어가는 약어 → 약어로 시작시에는 소문자, 그 외에는 모두 대문자

    let userID: Int?
    let websiteURL: URL?
    let urlString: String?

주석

우리가 자주 사용하는 일반 주석 // 외에도

동료가 참고하기 편하게 해주는 문서 주석 /// & /** */

메서드 네비게이션에서 참고할 수 있는 액션 주석 // MARK: 등이 있습니다.

일반 주석

  • 우리가 아는 가장 기본적인 주석으로 별도의 기능없이 코드 에디터에서 볼 수 있는 주석입니다.

문서 주석

  • https://dokit.tistory.com/47
  • /// & /** */ 등으로 선언
  • 일반 주석과 달리 함수나 변수 위에 선언하면 해당 키워드의 퀵헬프(Option + 변수 클릭)에서 상세설명이 뜨게 됩니다.

액션 주석

https://code-algo.tistory.com/11

  • //MARK: 등으로 선언

  • 다른 주석과 달리 메소드 네비게이션코드에디터 미니맵에서 표시가 됨

    메소드 네비게이션

    앞뒤에 공백을 넣은 대시를 붙이면 메소드 네비게이션에서 구분선 추가 가능

    코드에디터 미니맵


📇 GitHub 컨벤션

브랜치 컨벤션

  • 기본적으로 이슈 생성시 깃헙 액션을 통해 브랜치가 자동으로 생성됩니다.

브랜치 이름은 {작업이름}/{이슈번호} 의 구조로 작성해주세요. 'ex)FEAT/appoint'

커밋

최대한 자세히 쪼개주세요!

  • [FEAT] #n 메시지 : 기능 구현 커밋
  • [FIX] #n 메시지 : 오류 수정 커밋
  • [CHORE] #n 메시지 : 자잘한 부분 수정
[Feat] #144 회원가입 View 네비게이션 바 구현

CHORE: 자잘한 코드 및 내부 파일 수정
FEAT: 새로운 기능 및 뷰 추가
FIX: 버그, 오류 수정
REFACTOR: 전면 수정(코드 리펙토링)

위 커밋 메시지는 기본적으로 들어가는 요소들을 조합해 만든 예시 커밋 메시지입니다.

  • 기능 구현 시 사용하는 Feature, 버그 수정 시 사용하는 Fix, 자잘한 수정 시 사용하는 CHORE 등의 역할을 명시할 수 있어요.
  • #(이슈 번호) 처럼 커밋 메시지에 이슈 번호를 포함하면 추후 커밋을 push했을 때 이슈 아래에 reference로 표기됩니다.
  • 이후 이 커밋에서는 어떤 내용을 작업했는지 표기해주세요!

이슈

프로젝트에서 해결해야할 모든 사항을 트래킹하기 편하도록 해주는 기능

Pull Request

마스터 레포지토리에 Merge 할때는 반드시 Pull Request 를 통해서 merge 해주세요

  • Pull Request 의 본문은 마크다운 언어를 통해 작성합니다

    https://gist.github.com/ihoneymon/652be052a0727ad59601

    PR 생성 예제

    ## PR 소개 🔍
    자신의 소속 파트 : 
    
    연관된 이슈 번호 : 
    
    <br/>
    
    ## 작업 내용 💬
    
    <br/>
    
    ## 추가 사항 📌
    
    <br/>

    추후 팀장님과 상의하여 구체화하고 템플릿화도 하면 좋을듯 합니다!

Clone this wiki locally