C语言编码规范下
六.函数、过程
1.防止将函数的参数作为工作变量,最好在函数中定义局部变量接收它,再将最后的结果赋值给该参数
2.一个函数仅完成一个功能
3.为简单的功能编写函数,对最大值最小值等常用的语句,最好写成函数,增加程序可读性。
4.当返回值为指针的时候,注意指针指向的是否为局部变量,这种局部变量必须为局部静态变量,才能保证函数退出后,该局部变量的值依然存在
5.使用动宾短语来为执行操作的函数命名
6.设计高扇入、合理扇出(小于7)的函数
扇入是指由多少上级函数调用该函数,扇出是指该函数中调用其他函数的数目
7.当一个过程中对较长变量(一般是结构体成员)有较多引用时,可以用一个意义相当的宏来代替
七.可测性
1.使用断言来发现软件的问题,提高代码的可测性 assert()
2.用断言来检查函数的参数
3.正式的软件产品中应该把断言以及其他调测代码去掉
八.程序效率
1.循环体内工作量最小化
仔细考虑循环体内的语句是否可以放到循环体外,使循环体内工作量最小,从而提高程序的运行效率
2.多重循环中,应该将循环次数多的循环放在内层
3.避免函数体内含有判断语句,应该将循环语句置于判断语句的代码块之中
4.尽量使用乘法或者其他方法代替除法,特别是浮点运算中的除法
九.质量保证
1.过程或者函数中分配的内存,在函数或者过程退出之前要释放
2.过程或者函数中申请的文件句柄,在过程或者函数推出之前要关闭
3.编程时,避免差1错误
4.If语句尽量加上else分支,switch中必须有default分支
5.Unix中,多线程的子线程退出时必须采用主动退出的方式,即子线程应该return出口
十.宏
1.用宏定义表达式的时候,要使用完备的括号
2.将宏所定义的多条表达式放在大括号中
3.使用宏时,不允许参数发生变化