목록기술 노트/Google Code Style Guide (14)
anothel의 지식 창고
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/djhkGJ/btsKvMPpvdE/9AJwBaNNWKKLeNJLBdCXek/img.jpg)
2장 헤더 파일 (Header File)일반적으로, 모든 .cc 파일에는 관련된 .h 파일이 있어야 한다. 다만, 단위 테스트 파일이나 main() 함수만 포함하는 작은 .cc 파일 등은 예외로 인정된다.헤더 파일을 올바르게 사용하는 것은 코드의 가독성, 크기, 성능에 큰 영향을 미친다. 이 가이드에서는 헤더 파일 사용 시 발생할 수 있는 여러 문제점을 피할 수 있는 규칙들을 제시한다.2.1 자체 포함 헤더 (Self-contained Headers)헤더 파일은 독립적으로 컴파일될 수 있도록 자체 포함형으로 작성해야 하며, 확장자는 .h로 끝나야 한다. 헤더가 아닌 포함용 파일은 .inc 확장자를 사용하며, 필요한 경우에만 제한적으로 사용해야 한다.모든 헤더 파일은 자체 포함형이어야 하며, 이를 포함하는..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Fgpyk/btsKuRDYk02/DcWOpdCq4ejkj8NBjxHaO1/img.jpg)
1장 C++ 버전 (C++ Version)현재 구글 C++ 스타일 가이드는 C++20을 기준으로 코드를 작성하도록 권장하며, C++23 기능은 사용하지 않는 것을 원칙으로 한다. 가이드는 최신 C++ 버전으로 빠르게 전환할 계획이기 때문에, 코드 작성 시점에 맞는 최신 가이드를 참고하는 것이 중요하다.비표준 확장은 사용하지 않는 것이 원칙이다. 또한, C++17과 C++20의 기능을 프로젝트에 적용하기 전 다른 환경으로의 이식성을 반드시 고려해야 한다.참조URLhttps://google.github.io/styleguide/cppguide.html
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ttHxK/btsKuuvIGTl/nbwZvkenRkjCNwYF0Nuye1/img.jpg)
2024년도에는 진짜 마지막 구글 C++ 스타일 가이드 포스팅을 해낸다.배경 (Background)C++은 구글의 여러 오픈 소스 프로젝트에서 주요 개발 언어로 사용되고 있다. C++을 사용하는 개발자라면 알다시피, 이 언어는 강력한 기능을 제공하지만 그만큼 복잡성을 동반하며, 코드가 버그에 취약해지고 읽기 어려워지거나 유지보수가 까다로워질 수 있다.이 가이드는 C++ 코드를 작성할 때 지켜야 할 사항과 피해야 할 사항을 상세히 설명함으로써 이러한 복잡성을 관리하고자 한다. 이러한 규칙들은 개발자가 C++ 언어의 기능을 생산적으로 활용하면서도 코드베이스를 관리 가능하게 유지하는 데 그 목적이 있다.스타일 또는 가독성이라 불리는 규칙은 단순한 소스 파일 형식 이상의 관습을 포함하는데, 이는 코드 작성 방식..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Gq9jK/btsKt9ZEgw6/aPWlgqsfwkhJ7QlEHhV5MK/img.jpg)
Google C++ Sytle Guide를 해석해가며 공부한 후 배운 점과 느낀 점에 대해서 서술하려 한다. Background, Goals of the Style Guide BackgroundC++는 수많은 Google의 오픈소스 프로젝트에 사용되는 주요 개발언어이다. 모든 C++ 개발자가 알고 있는 것처럼 C++는 강력한 기능들이 많지만, C++의 이러한 강력한 기능들은 버그를 일으키기 쉽고, 코드를 읽거나 유지 보수하기 어렵게끔 만드는 복잡성을 갖고 있다.이 가이드의 목표는 C++를 사용한 개발을 하며 해야 할 것과 하지 말아야 할 것에 대해 아주 자세하게 서술함으로써 복잡성을 관리하기 위함이다. 이러한 규칙은 코드 베이스를 관리 가능한 상태로 유지하면서, C++ 개발자가 생산적으로 개발할 수 있게..