C/C++_google style 简易版

155 阅读2分钟

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/elsewhile 等语句的大括号,左括号总是与语句在同一行,右括号单独一行。

    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风格函数

官方英文原版:

google.github.io/styleguide/…

社区维护的中文翻译版 :

zh-google-styleguide.readthedocs.io/en/latest/g…