-
Notifications
You must be signed in to change notification settings - Fork 0
Convention
AhnJoonSung edited this page Jun 13, 2024
·
5 revisions
김포프의 C++ 코딩 표준을 준수합니다.
단, 모든 함수와 구조체 멤버 변수는 CamelCase로 작성합니다.
root 디렉토리의 .clang-format에 정의되어 있으므로 clang-format을 다운받아도 좋습니다.
- 클래스와 구조체의 이름은
Pascal표기법을 따른다. - 지역 변수, 함수의 매개 변수 이름은
camel표기법을 따른다. - 메서드의 이름은 동사-목적어 쌍으로 표기한다.
- 추상 클래스의 이름은
A로 시작한다.AMateria
이 저장소는 GitHub Flow를 따르는 프로젝트에 대한 규칙과 가이드라인을 기술합니다. GitHub Flow는 지속적인 배포와 피드백을 중심으로 하는 개발 방법론입니다.
모든 브랜치는 main 브랜치에서 분기합니다.
- 브랜치 이름은
feature/(#issue_number)-기능이름형식을 따라야 합니다.
- 브랜치 이름은
bugfix/(#issue_number)-버그이름형식을 따라야 합니다.
- 브랜치 이름은
refactoring/(#issue_number)-수정이름형식을 따라야 합니다.
- 모든 코드 변경은 Pull Request를 통해 이루어져야 합니다.
- 최소한 한 명의 리뷰어가 코드 변경을 승인해야 합니다.
- 기능이나 버그 수정이 완료되면 Pull Request를 통해
main브랜치로 머지합니다. - 현재 작업 브랜치에
main브랜치의 최신 버전과 merge하여 충돌 해결 후 Pull Request를 보냅니다.
-
.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