google谷歌c++编程规范
3月8日消息,今天早上,创新工场董事长兼CEO李开复在腾讯微博上透露,Google的C++编码规范已经公开。 “我认为这是地球上最好的一份C++编程规范,没有之一,建议广大国内外IT研究使用。”李开复对Google C++编码规范给予了极高的评价 《谷歌C++编程规范》是谷歌公司制定的一套详尽且严谨的编程准则,旨在提高代码的可读性、可维护性和团队协作效率。这份规范由Benjy Weinberger、Craig Silverstein、Gregory Eitzmann和Mark Mentovai等人共同编写,并在业界得到了广泛的认可。李开复曾高度评价其为“地球上最好的C++编程规范”。 规范内容涵盖了多个方面,包括: 1. **头文件管理**:规定了`#define`保护、头文件依赖、内联函数的使用以及`-inl.h`文件的处理,确保头文件的正确包含和避免循环依赖。 2. **函数参数顺序**:推荐将常量参数放在以方便编译器优化。 3. **命名规则**:推荐使用清晰、一致的命名策略,如小驼峰命名法。还强调了文件名、类型名、变量名、常量名、函数名、命名空间名、枚举名和宏名的规范。 4. **作用域**:提倡使用命名空间减少全局污染,合理利用嵌套类,以及非成员、静态成员和全局函数的定义。 5. **类的设计**:提倡在构造函数中进行必要的初始化工作,明确默认构造函数、显式构造函数、复制构造函数的使用。推荐使用结构体(struct)与类(class)的区别,以及继承、多重继承和接口的使用策略。 6. **运算符重载**:详细规定了何时和如何重载运算符,以及访问控制的原则。 7. **声明顺序**:建议将公有成员声明在前,私有成员在后,以提高代码可读性。 8. **Google特定特性**:比如使用智能指针以避免内存泄漏,以及`cpplint`工具来检查代码质量。 9. **其他C++特性**:包括引用参数、函数重载、默认参数、变量长度数组、友元函数、异常处理、运行时类型信息(RTTI)、类型转换、流操作等的使用原则。 10. **整型类型**:强调使用适当的整型类型,特别是64位系统的兼容性。 11. **预处理器宏**:鼓励减少宏的使用,除非必要,因为它们可能引入难以调试的问题。 12. **命名规则的例外**:在特定情况下可以打破一般命名规则,但需谨慎。 13. **注释**:详细规定了不同类型的注释风格,如文件注释、类注释、函数注释、变量注释、实现注释,以及如何使用`TODO`和`DEPRECATED`注释。 14. **格式化**:规定了行长度限制、非ASCII字符的使用、空格与制表符的选择、函数声明与定义、函数调用、条件语句、循环与switch语句、指针与引用表达式、布尔表达式、返回值、变量与数组初始化、预处理器指令、类格式、构造器初始化列表、命名空间格式、水平与垂直空白等的格式要求。 15. **已存在的不符合规范的代码**:对于现存的不符合规范的代码,应逐步修改以符合新规范。 遵循这些规范,开发者可以写出更加整洁、高效且易于理解的C++代码,这对于大型项目尤其重要,因为它可以帮助团队保持一致性,降低维护成本,提高软件质量。无论是初学者还是经验丰富的开发者,都应该认真研读并尽可能地遵守这些规范。
剩余63页未读,继续阅读
- Z_JHang2014-08-12英文版,可以
- sunzhaohe2014-08-31英文版,不错
- ssno12011-10-27是英文版的,不过边翻译边学还是不错的
- shawnsnow2012-06-19这肯定是值得学习的。编码风格能显示出一个热的水平来,特别是面试的时候特有用。比如说尽量用const ,参数带const和不带const。
- 粉丝: 2
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助