본문 바로가기
C++

[C++ Core Guidelines] 번역에 앞서

by 코드쉼터 2024. 3. 26.

 

개요

C++ 는 매우 자유롭고 복잡한 언어입니다.

역사 또한 매우 오래되어 지금까지 상당히 많은 문법이 개정되었으며, 시대의 흐름에 따라 권장되는 사용 용법 (do's) 와 권장되지 않는 사용 용법(don'ts)이 혼용되고 있습니다.

 

C++ Core Guidelines 에서, C++ 의 창시자이자 기여자인 Bjarne Stroustrup 와 Herb Sutter 를 중심으로 작성된 이 문서는 현대 C++ 의 표준 권장 사용 가이드를 제시합니다.

 

물론 이 문서에 나와있는 내용이 항상 정답이고 반드시 따라야 하는 내용은 아닙니다.

다만 특정 방식으로 현대적 문법을 사용해야 할 합리적 이유와 코딩 철학들이 담겨있어 훌륭한 참고 자료가 될 것입니다.

현대적인 C++ 코드를 처음 작성하시려는 분들, 고전 C++ 문법을 오랜 기간 사용해오신 분들에게 이 내용을 읽어 보시길 추천 드립니다. 

 

 

앞으로 작성될 문서 앞에 붙는 접두사는 다음과 같은 의미를 나타냅니다.

In: Introduction (소개)
P: Philosophy (철학)
I: Interfaces (인터페이스)
F: Functions (함수)
C: Classes and class hierarchies (클래스와 그 구조)
Enum: Enumerations (이뉴머레이션)
R: Resource management (리소스 관리)
ES: Expressions and statements (표현식과 문)
Per: Performance (성능)
CP: Concurrency and parallelism (동시성과 병렬성)
E: Error handling (에러 다루기)
Con: Constants and immutability (상수와 불변성)
T: Templates and generic programming (템플릿과 제네릭 프로그래밍)
CPL: C-style programming (C 스타일 프로그래밍)
SF: Source files (소스 파일들)
SL: The Standard Library (표준 라이브러리)

 

- 부가 섹션 -
A: Architectural ideas (설계 관점에서의 아이디어)
NR: Non-Rules and myths (미신들)
RF: References (참고자료)
Pro: Profiles (프로파일)
GSL: Guidelines support library (가이드라인 자료)
NL: Naming and layout suggestions (네이밍과 레이아웃 조언)
FAQ: Answers to frequently asked questions (자주 언급되는 질문들)
Appendix A: Libraries (라이브러리들)
Appendix B: Modernizing code (코드 현대화)
Appendix C: Discussion (논의)
Appendix D: Supporting tools (지원 도구들)
Glossary (용어 해설)
To-do: Unclassified proto-rules (원래 의도했지만 정의되지 않은 룰들)

 

 

출처

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines