콘텐츠로 이동

C++

코딩

문서 기준으로 다루는 내용
코드 포맷 규칙 들여쓰기, 괄호 배치, 공백, 인코딩·줄바꿈
명명 규칙 식별자·상수 이름, 네임스페이스의 공통 루트·조건부 모듈 구분
주석 작성 규칙 구현 의도, API 계약, TODO·FIXME 작성
자료형 선택과 별칭 (초안) 표준·API 타입, 자체 별칭·강한 타입, 외부 데이터 계약
auto 사용 규칙 명시적 타입 기본, 사용 조건, 복사·참조·추론 주의사항
초기화 규칙 초기값 지정, 생성자 선택, 축소 변환
const 사용 규칙 읽기 전용 판단, const 위치와 의미, constexpr 선택
타입 변환과 범위 검사 (초안) 목적별 캐스트, API 출력 인자, 숫자 변환·산술 범위
클래스·구조체 규칙 타입 선택·공개 API, 생성자·특수 멤버, 기본 상속·override·final. 미결정 정책 제외
프로젝트 구조와 파일 배치 프로젝트 바로 아래 주제별 헤더·구현 배치, 선택적 Source, 공개 헤더 분리 조건, 폴더·파일 이름과 솔루션·써드파티·필터 구성
헤더·include 규칙 헤더 보호, 직접 의존성, include 순서, 전방 선언
함수 매개변수·반환 규칙 입력·입출력, 값 반환·구조체·pair·tuple 선택, nodiscard·의도적 무시
attribute 사용 (초안) nodiscard의 언어 동작, 미사용·제어 흐름·사용 중단·최적화 표시
소유권·수명 규칙 RAII, 소유·대여, 스마트 포인터 전달, 수명 경계

각 규칙의 상세 정의는 해당 문서에서 관리한다. 다른 문서의 예제는 설명에 필요한 범위에서 같은 규칙을 적용한다.

목차는 포맷·명명·주석으로 코드의 표현을 정한 뒤, 자료형 선택·auto·초기화·const·변환으로 값과 타입을 다루고, 클래스·구조체에서 사용자 정의 타입을 설계한 다음 프로젝트 구조·파일 배치, 헤더·함수·attribute·소유권으로 파일 구성과 API·자원 관리를 읽는 순서다. 자료형 선택·타입 변환·attribute와 클래스 문서의 미결정 정책은 초안이므로 채택 규칙과 구분해 검토한다. 특정 프로젝트의 클래스와 모듈의 책임·의존성 구조, 실제 디렉터리·빌드 환경과 공통 기준의 예외·적용 결과는 프로젝트별 규칙에서 다룬다.

변경 기록

  • 2026-10-28: 사용자 선택으로 직접 관리하는 폴더의 PascalCase 우선 권장, 조건부 소문자 예외와 단수·복수 기준을 채택했다. 기존 폴더·파일 이름 규칙에 통합했으며 채택 문서 수는 유지한다.
  • 2026-10-16: C++ 프로젝트 구조와 파일 배치 문서의 공통 규칙 채택과 project-structure.md 이동·내용 재구성을 반영했다. 구체적인 배치·API·분리 대상은 프로젝트별로 결정하며 C++ 채택 문서는 11개다. 네임스페이스 절도 공통 규칙으로 채택하고 실제 루트 이름·모듈 구분은 프로젝트별 결정 사항으로 안내한다.

  • 2026-10-15: 사용자 선택으로 auto 사용 규칙을 채택했다.

  • 2026-10-09: 함수 반환 규칙 개정, 클래스·구조체의 기본 규칙 채택과 미결정 정책 제외, attribute 초안을 목차에 반영했다.

  • 2026-10-06: 코드 표현, 값과 타입, 파일·API·자원 관리 순으로 목차를 정리하고 사이트 메뉴와 읽기 안내를 맞췄다. 문서별 채택·초안 상태는 유지했다.