c语言编程规范
【一】关于空格
- 代码缩进统一为四个空格
- 相对独立代码快之间,变量定义后,函数返回前,必须加空行
- 函数开头定义变量,空
- 不同功能代码块,空
- return语句之前,空

- 空格使用:
- 关键字比如if,for,while,switch与括号之前 必须空格
- 空行,语句或表达式末尾 不能有 空格与tab
- 双目操作符 前后必须加上 空格
- 函数定义时候,函数调用的时候,实参形参与逗号之间必须加空格

-
单目操作符!,++,--,&前后不加空格,缩写赋值运算符中间不加空格,左右必须加上空格

- "[]","->","."前后不加空格(略)
-
指针的解引用符号* 定义时靠近变量名
- 关于if else:
if与括号直接空一小格;if,else缩进一致
- 关于for:
for与括号空行;括号内的变量赋值,条件判断和累加条件要用空格隔开,分号左边不要空格。(黄色标记为空格)
- 关于while:
while关键字与左括号必须加空格
条件判断的运算符必须用空格隔开

- 关于switch

- 比较长的一行,用缩进对齐
- 条件判断使用括号区分判断优先级
【二】:关于注释规范
- 注释在代码右侧时,与被注释代码距离一个tab
- /* xxxx */ 要这样加空格
- 多行代码注释:
/*
* xxxx
* xxxx
* xxxx
*/
4.// xxx形式只能出现在单行语句注释中,单行语句对齐
5.记得注释和注释语句与其他语句的空行
6.全局变量采用多行注释
7. switch函数没有break需要注释
8.TODO注释:
// TODO: xxx
目的是为了提示以后待改进代码
9.Debug代码注释:
利用#if 0
xxx;
#endif
还可以宏定义来实现对应代码的开启(未实践)
【三】关于命名规范:
- unix风格
https://blog.csdn.net/querw/article/details/5467438

- 结构体与枚举名称:
结构体typedef命名时候,名称结尾必须加上_t的后缀;
枚举typedef命名时候,结尾增加_e的后缀;
自定义的名称必须空一格(与结构体之类的括号之间)
- 关于数据类型:

-
全局变量必须加上g_前缀
-
静态变量加上s_前缀
-
模块缩写作为前缀辨别变量名
-
布尔值用true false 代替1,0
【四】关于宏定义:
- 大写
- 完备的括号

- 【五】关于函数定义与声明规范:
- 变量在定义时应该:
- 对变量初始化
- 不允许修改的变量,加上const修饰
- 变量单一用途,不能混用
- 代表度量值的要加上单位 eg: data_timestamp_ms
- 函数精简(尽量以小函数为基础)
- 用指针传递大结构体
- system()函数间接操作系统命令不好(未尝试)
【五】代码效率:
- sleep ,malloc建议少出现
- 定义多变量成员时,将相同类型定义在一起,减少内存空洞

浙公网安备 33010602011771号