赞
踩
Google 的 C++ 代码规范包括了一系列关于代码格式、命名约定、注释、编程实践等方面的规则和建议。遵循这些规范有助于保持代码库的一致性,确保代码易于理解和维护。下面是Google的C++代码规范的主要内容,这些规范是Google在其内部使用的,旨在提高代码的可读性、可维护性和可重用性。
以下是一些Google C++代码规范的主要内容:
- 类型和变量名使用驼峰命名法,例如:MyClass、myVariable。
- 常量和枚举值使用全大写字母和下划线分隔,例如:MY_CONSTANT、MY_ENUM_VALUE。
- 函数名使用动词或动词短语,例如:openFile()、closeConnection()。
- 类的成员变量使用下划线作为前缀,例如:_myMemberVariable。
- 使用//或/**/注释风格,避免使用/* */注释风格。
- 使用Doxygen格式的注释,包括函数的参数、返回值和异常情况等信息。
- 函数应该尽量短小,避免超过40行。
- 函数的参数应该尽量少,最好不超过4个。
- 函数应该有明确的功能和返回值,不应该有任何副作用。
- 函数的参数应该使用const来避免意外修改。
- 类的成员变量应该尽量少,最好不超过5个。
- 类的方法应该按照一定的顺序排列,例如:构造函数、析构函数、公共方法、私有方法等。
- 类应该尽量避免使用指针和裸露的内存操作,使用智能指针和STL容器等标准库类。
- 头文件应该包含必要的声明和定义,避免包含不必要的头文件。
- 头文件应该使用#ifndef、#define和#endif来避免重复包含。
- 头文件应该按照一定的顺序排列,例如:C++标准头文件、第三方库头文件、项目内头文件等。
- 保护头文件避免多次包含(使用 #pragma once 或者 include guards)。
- 优先使用前置声明,而不是包含头文件。
- 相关的头文件和内联函数实现要在相同的头文件中。
- 尽量不要使用全局变量,尤其是在头文件中。
- 尽量将变量定义在尽可能小的作用域内。
- 对于类的成员变量和方法,使用访问控制(如 public, protected, private)来限制其可见性。
- 使用匿名命名空间或静态声明限制全局变量和函数的可见性。
- 类和结构体的名称使用驼峰式命名法(如 `MyClass`)。
- 类应该有一个显式的构造函数和析构函数。
- 尽量避免使用拷贝构造函数和赋值运算符,如果需要,请显式声明。
- 使用初始化列表初始化类成员变量。
- 将接口和实现分离,将成员函数的定义放在 `.cpp` 文件中。
- 变量名、函数名使用小写,单词之间用下划线连接(如 `my_variable`)。
- 常量命名使用 k 开头,后面跟驼峰式命名法(如 `kMyConstant`)。
- 类型名和模板参数使用驼峰式命名法(如 `MyType`)。
- 文件名使用小写,单词之间用下划线连接(如 `my_class.h` 和 `my_class.cpp`)。
- 宏命名使用全大写,单词之间用下划线连接(如 `MY_MACRO`)。
- 在代码中添加注释来解释复杂的逻辑、设计决策和边界条件。
- 使用 Doxygen 风格的注释来说明函数、类和文件的作用。
- 保持注释简洁明了,尽量避免无用的注释。
- 使用 2 个空格缩进,不使用制表符。
- 每行最多 80 个字符。
- 使用空格而不是制表符分隔代码的不同部分。
- 优先使用 C++ 的类型别名(`using`),而不是 `typedef`。
- 使用 `const` 和 `constexpr` 修饰不会改变的变量和常量。
- 尽量避免使用全局变量,使用局部静态变量代替。
- 使用 `nullptr` 而不是 `NULL` 或 `0`。
这只是 Google C++ 代码规范的一部分。为了更深入地了解这些规范以及其他相关建议,请查阅 [Google C++ Style Guide ↗](https://google.github.io/styleguide/cppguide.html)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。