Google C++开源项目风格指南
需积分: 10 165 浏览量
更新于2024-07-21
收藏 2.49MB PDF 举报
"Google 开源项目风格指南-C++. 20150928"
这篇文档是Google针对C++编程语言制定的一份详细风格指南,旨在提高代码的可读性和一致性。指南覆盖了多个方面,包括但不限于:
1. **头文件**:强调正确使用头文件,提倡使用保护(防止重复包含)和前向声明来减少依赖。
2. **内联函数**:鼓励在可能的情况下使用内联函数以减少函数调用开销,但同时要注意内联可能导致的代码膨胀问题。
3. **函数参数顺序**:建议将常量参数放在变参前面,以便更好地利用编译器的常量折叠优化。
4. **#include路径和顺序**:规定了#include文件的路径选择和排列顺序,通常先包含本地文件,再包含系统文件。
5. **作用域**:详细讨论了名字空间的使用,包括匿名名字空间、具名名字空间、嵌套类、非成员函数、静态成员函数和全局函数的定位和设计原则。
6. **类的设计**:涉及构造函数的职责,初始化方法,显式构造函数,拷贝构造函数和移动构造函数的使用,以及委派和继承构造函数的概念。还提到了结构体与类的区别。
7. **继承和多态**:讨论了单一继承和多重继承的优缺点,以及接口类的使用。还涉及了运算符重载的注意事项和访问控制的规则。
8. **智能指针**:强调了所有权的概念,并推荐使用智能指针(如std::unique_ptr和std::shared_ptr)来管理对象生命周期,以避免内存泄漏。
9. **其他特性**:涵盖了引用参数、右值引用、函数重载、缺省参数、变长数组、友元、异常处理、运行时类型识别(RTTI)、类型转换、流操作等C++的关键特性。
10. **命名约定**:提供了全面的命名规则,包括通用命名规则、文件命名、类型命名、变量命名、常量命名、函数命名、名字空间命名、枚举命名、宏命名等,强调一致性和可读性。
11. **注释**:规定了注释的风格,如文件注释、类注释、函数注释、变量注释等,以及弃用注释的使用。
12. **格式**:详细规定了代码的格式规范,如行长度限制、非ASCII字符的使用、空格与制表符的使用、函数声明与定义的格式、表达式的对齐、条件语句、循环和开关选择语句的格式、指针和引用表达式、布尔表达式、函数返回值、变量及数组初始化的样式,以及预处理指令、类格式、构造函数初始值列表、名字空间格式化、水平和垂直留白等方面的细节。
13. **规则特例**:允许在某些特定情况下偏离这些规则,前提是已经存在的代码不遵循这些指南,或者为了兼容性或性能原因。
这份指南为C++程序员提供了一个清晰的编码标准,有助于创建高质量、易于维护的代码。通过遵循这些指导原则,开发者可以确保代码的可读性、可维护性和团队协作效率。
2018-07-21 上传
2019-10-18 上传
2019-09-26 上传
2019-10-14 上传
2019-09-10 上传
2019-09-16 上传
2019-10-29 上传
some0ne
- 粉丝: 0
- 资源: 6
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常