협업 컨벤션 - 42-JMJ/iOS-App-Project GitHub Wiki

:gem: 깃 컨벤션

  • 되도록이면 이슈는 "문제점 (ex. 충돌발생) "을 위주로 제목을 작성합니다.
  • 마찬가지로 PR은 "해결방안 (ex. 서브파일생성) "을 위주로 제목을 작성합니다.
  • commit 메세지는 되도록 한글로 작성합니다.
  • 되도록이면 당일 작업사항은 당일에 PR합니다. 코드가 쌓이면 원활한 1:1 리뷰가 어렵기 때문입니다.
  • 리뷰는 최소 한 사람에게 받도록 합니다.
  • 리뷰를 받지 않은 코드는 master에 merge할 수 없습니다.
  • 리뷰어(PR일 기준)는 다음과 같이 배정합니다.
    • 홀수일
      • 재두 는 미혜 의 코드를 리뷰한다
      • 미혜 는 준서 의 코드를 리뷰한다
      • 준서 는 재두 의 코드를 리뷰한다
    • 짝수일
      • 재두 는 준서 의 코드를 리뷰한다
      • 준서 는 미혜 의 코드를 리뷰한다
      • 미혜 는 재두 의 코드를 리뷰한다
  • PR은 리뷰승인 완료 후 PR작성자가 merge 합니다. (해당 branch는 자동으로 delete되도록 설정됨)
  • 프로젝트는 진행상황은 칸반보드로 관리합니다.
  • 칸반보드에서 작업을 시작한 issue의 카드는 2번째 탭 '진행중 / 코드작성중'으로 옮겨놓아 작업현황을 팀원들과 공유합니다.

:gem: 코드 컨벤션

  • 함수, 변수, 상수의 이름에는 소문자 카멜케이스를 사용합니다.
    func setDateAndArticle
    
  • 클래스, 구조체, 프로토콜 이름에는 대문자 카멜케이스를 사용합니다.
    struct Article
    protocol DataBase
    
  • 변수, 상수를 선언할 때면 생략이 가능하더라도 되도록이면 type을 명시해 줍니다. 이때 콜론(:)의 오른쪽에만 공백을 1칸 두도록 합니다.
  • 파일의 마지막은 빈 줄로 마치고 빈 줄에는 공백이 없도록 합니다.