Skip to content

Convention

AhnJoonSung edited this page Jun 13, 2024 · 5 revisions

Coding Convention

김포프의 C++ 코딩 표준을 준수합니다.

단, 모든 함수와 구조체 멤버 변수는 CamelCase로 작성합니다.

root 디렉토리의 .clang-format에 정의되어 있으므로 clang-format을 다운받아도 좋습니다.

주요 참고 사항

  • 클래스와 구조체의 이름은 Pascal 표기법을 따른다.
  • 지역 변수, 함수의 매개 변수 이름은 camel 표기법을 따른다.
  • 메서드의 이름은 동사-목적어 쌍으로 표기한다.
  • 추상 클래스의 이름은 A로 시작한다.
    • AMateria

GitFlow Convention

소개

이 저장소는 GitHub Flow를 따르는 프로젝트에 대한 규칙과 가이드라인을 기술합니다. GitHub Flow는 지속적인 배포와 피드백을 중심으로 하는 개발 방법론입니다.

브랜치 전략

모든 브랜치는 main 브랜치에서 분기합니다.

기능 브랜치

  • 브랜치 이름은 feature/(#issue_number)-기능이름 형식을 따라야 합니다.

버그 수정 브랜치

  • 브랜치 이름은 bugfix/(#issue_number)-버그이름 형식을 따라야 합니다.

수정 브랜치

  • 브랜치 이름은 refactoring/(#issue_number)-수정이름 형식을 따라야 합니다.

Pull Request 및 코드 리뷰

  • 모든 코드 변경은 Pull Request를 통해 이루어져야 합니다.
  • 최소한 한 명의 리뷰어가 코드 변경을 승인해야 합니다.
  • 기능이나 버그 수정이 완료되면 Pull Request를 통해 main 브랜치로 머지합니다.
  • 현재 작업 브랜치에 main 브랜치의 최신 버전과 merge하여 충돌 해결 후 Pull Request를 보냅니다.

Git Message Convention

  • .gitmessage 템플릿 양식에 맞춰 씁니다.
  • git config --local commit.template .gitmessage로 기본 템플릿 양식으로 지정할 수 있습니다.
# 예시
# type: Subject
feat: "로그인 기능 구현"

# Body
로그인 시 JWT 발급

# Footer
Resolves: #111
Ref: #122
related to: #30, #50
  • 모든 소스, 헤더 파일은 src 폴더 안에 넣습니다.
  • 기능/클래스 단위로 디렉토리를 만듭니다.
  • global 디렉토리에는 범용적으로 사용하는 기능/클래스를 넣습니다.
├───_src                     # Source files
│   ├──_server
│   │  ├──config
│   │  ├──...
│   │  └──httpMessage
│   └──global
├── test                    # Automated tests
├── tools                   # Tools and utilities
└── README.md

Clone this wiki locally