通用C语言编码规范问答总结
通用C语言编码规范问答总结
命名相关
Q: 文件命名应该使用什么风格?
A: 源文件使用小写字母和下划线,如 string_utils.c、memory_pool.c。头文件对应,如 string_utils.h。
Q: 公共函数和静态函数的命名区别是什么?
A: 公共函数使用 snake_case 并加模块前缀,如 memory_pool_init()。静态函数使用下划线前缀或模块内前缀,如 _validate_parameters()。
Q: 全局变量如何命名?
A: 使用 g_ 前缀,如 g_instance_count、g_system_ready。
类型命名
Q: 结构体、枚举、联合体后缀是什么?
A: 结构体用 _t 后缀,如 buffer_t;枚举用 _e 后缀,成员大写,如 status_e;联合体用 _u 后缀,如 register_value_u。
格式化
Q: 缩进和行长度有什么要求?
A: 使用4个空格缩进,不使用Tab。每行最多80个字符(规范建议),长行适当折断。
Q: 大括号风格是什么?
A: K&R风格:函数大括号另起一行,控制结构大括号不另起一行。
函数设计
Q: 函数参数传递的约定是什么?
A: 输入参数使用 const;输出参数使用指针;大结构体通过指针传递。
Q: 返回值的约定是什么?
A: 错误码返回:0表示成功,负值表示错误。布尔返回值使用 bool 类型,函数名以 is_、has_、can_ 等开头。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 lbq开发日志!