欢迎大家访问我的个人博客:吴佳轶 | WuJiaYi,第一时间获取最新的文章。
规范制定说明
本套C语言编程规范为提高代码质量、便于维护、协同编码、可移植等特点而编写。要求所有参与编码人员要严格遵循本编程规范。
参考文献:
- 华为C语言开发编程规范。
- 阿里巴巴Java开发手册。
【示例】 展示的代码片段,做参考使用。
【原则】 在编写程序时必须严格遵守的规范。
【建议】 在编写程序时需要认真参考的规范。
【粗体】 在规范中特别强调的内容。
标识符命名与定义
建议使用unix like风格给标识符命名,即单词用小写字母,每个单词直接用下划线“_”分割。
例如:text_mutex,test_one,kernel_text_address。
我们对标识符定义主要是为了让团队的代码看起来尽可能统一,有利于代码的后续阅读和修改。标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码更重要。
【示例】
常见缩写:
buffer 可缩写为 buff
command 可缩写为 cmd
compare 可缩写为 cmp
error 可缩写为 err
initialize 可缩写为 init
maximum 可缩写为 max
message 可缩写为 msg
parameter 可缩写为 para
previous 可缩写为 prev
register 可缩写为 reg
temp 可缩写为 tmp
【示例】
好的命名:
int error_number;
int number_of_completed_connection;
不好的命名:
int n;
int n_comp_conns;
【原则】
- 除了常见的通用缩写以外,不得使用单词缩写,不得使用汉语拼音。
- 代码中的命名均不能以下划线开始,也不能以下划线符号结束。
- 禁止使用单字母命名变量,但允许且仅能定义i、j、k、l作为局部循环变量。
- 严禁使用未经初始化的变量作为右值。
- 全局变量应增加“g_”前缀,全局数组应增加“a_”前缀。
【建议】
- 尽量避免名字中出现数字编号,除非逻辑上的确需要编号。
- 重构/修改部分代码时,应保持和原有代码的命名风格一致。
- 常量和宏的定义应该全部大写,多个单