C/C++_google style 简易版
1. 命名 (Naming)
- 变量名: 全部小写,单词间用下划线连接 (
my_variable_name)。 - 类/结构体名: 每个单词首字母大写,无下划线 (
MyClass)。 - 函数名: 每个单词首字母大写,无下划线 (
MyFunction)。 - 常量/枚举值: 以
k开头,后跟驼峰命名法 (kMyConstant)。 - 文件名: 全部小写,单词间可使用下划线或中横线 (
my_useful_class.cc)。 - 驼峰命名法 (Camel Case) 是一种在编程中为变量、函数等标识符命名的规范。当一个名称由多个单词组成时,这种方法会将这些单词连接在一起,并从第二个单词开始,将每个单词的首字母大写
2. 格式 (Formatting)
-
行长度: 每行不超过 80 个字符。
-
缩进: 使用 2 个空格进行缩进,不使用 Tab。
-
大括号: 函数、
if/else、while等语句的大括号,左括号总是与语句在同一行,右括号单独一行。C++
void myFunction() { if (condition) { // ... } else { // ... } }
3. 注释 (Comments)
- 实现注释: 使用
//。用于解释代码块的实现细节、难点或意图。 - 文档注释: 使用
/** ... */或///。用于解释类、函数或文件的用途、参数、返回值等,主要给调用者看。 - 注释要说明“为什么”,而不是“干什么”。好的代码本身就能说明它在干什么,注释则应解释其背后的逻辑和目的。
4. 头文件 (Header Files)
- #define 保护: 所有头文件都应使用
#define防止被重复包含。格式为<PROJECT>_<PATH>_<FILE>_H_。 - 头文件依赖: 尽量减少头文件中的
#include。使用前向声明 (forward declarations) 来代替。 - #include 的顺序: 推荐的顺序是:相关头文件、C 系统文件、C++ 系统文件、其他库的头文件、项目内的头文件。
5. C++ 特性使用限制
- 异常 (Exceptions): 禁止使用 C++ 异常。
- 运行时类型识别 (RTTI): 禁止使用。
- 流 (Streams): 避免使用
iostream,推荐使用更快的printf等C风格函数
官方英文原版:
社区维护的中文翻译版 :