谷歌C语言编码规范详解

文件命名
  • 源文件和头文件 :文件名使用小写字母和下划线分隔。例如:my_source_file.cmy_header_file.h
包含保护
  • 头文件应使用包含保护,以防止重复包含。例如:

    #ifndef MY_HEADER_FILE_H_
    #define MY_HEADER_FILE_H_

    // 内容

    #endif // MY_HEADER_FILE_H_

注释
  • 使用/* ... */块注释和//行注释。注释应清晰、简洁,放在代码相关部分的上方或右侧。
缩进和对齐
  • 使用2个空格进行缩进。
  • 代码块应使用一致的对齐风格。
变量和结构体成员
  • 使用驼峰命名法(camelCase),如myVariablemyStructMember
函数名
  • 使用下划线命名法(snake_case),如my_function_name
结构体名称
  • 使用首字母大写的驼峰命名法(PascalCase),如MyStruct
枚举
  • 枚举类型使用首字母大写的驼峰命名法(PascalCase),如Color

  • 枚举成员使用全大写字母和下划线分隔的命名法(UPPER_SNAKE_CASE),如COLOR_RED

    typedef enum Color {
    COLOR_RED,
    COLOR_GREEN,
    COLOR_BLUE
    } Color;

宏定义
  • 使用全大写字母和下划线分隔的命名法(UPPER_SNAKE_CASE),如#define MAX_BUFFER_SIZE 1024
常量
  • 使用const关键字定义常量,而不是使用宏。
函数和参数
  • 函数应尽可能短小,并只做一件事。
  • 参数名称应清晰明了,使用驼峰命名法(camelCase)。
指针
  • 指针声明时将星号靠近变量名,如int *ptr
空间和括号
  • 运算符和关键词前后使用空格,括号内不使用空格。

    if (a == b) {
    func(a, b);
    }

错误处理
  • 使用明确的错误处理和返回值检查。
文件组织
  • 头文件包含依赖声明,源文件包含具体实现。
  • 头文件应包含函数声明、宏定义、类型定义等。
头文件依赖
  • 头文件应包含必要的依赖头文件。
静态函数
  • 非导出的函数应使用static关键字。

    static void helper_function() {
    // 实现
    }

分割大型项目
  • 大型项目应合理分割成多个文件和模块。

在项目开发过程中,按一定的规范编写代码,可以提高代码的可读性、一致性和可维护性。有助于确保代码库的高质量和协作效率。

相关推荐
草莓熊Lotso2 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM2 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CodeOfCC3 小时前
c语言 封装跨平台线程头文件
linux·c语言·windows
momo卡4 小时前
MinGW-w64的安装详细步骤(c_c++的编译器gcc、g++的windows版,win10、win11真实可用)
c语言·c++·windows
超的小宝贝5 小时前
数据结构算法(C语言)
c语言·数据结构·算法
凤年徐7 小时前
【数据结构初阶】单链表
c语言·开发语言·数据结构·c++·经验分享·笔记·链表
hjyowl15 小时前
题解:AT_abc407_c [ABC407C] Security 2
c语言·开发语言·算法
old_power17 小时前
UCRT 和 MSVC 的区别(Windows 平台上 C/C++ 开发相关)
c语言·c++·windows
全干工程师—17 小时前
FreeRTOS实时操作系统学习笔记
嵌入式·freertos·实时操作系统
@老蝴17 小时前
C语言 — 编译和链接
c语言·开发语言