[C/C++]函数建立规则

1.避免函数过长,新增函数不超过50行(非空非注释行)。即代码数尽可能少。简洁和功能单一考虑。 这里需要强调新增,因为如果是修改的情况,迫于其他函数的限制等等,可能只能用某些写法,所以可以超过。

2.避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层。即最多连续4个if,否则可读性太差,很难读懂,这个层数越低越好,过深入就要考虑新建一个函数了。

3.[多任务开发]可重入函数应避免使用共享变量;若需要使用,则应通过互斥手段(关中断、信号量)对其加以保护, 可重入函数是指可能被多个任务并发调用的函数(多个线程中调用的函数),如果用共享变量那么不知道是哪个任务修改的了。共享变量指的全局变量和static变量。

4.对参数的合法性检查,由调用者负责还是由接口函数负责,应在项目组/模块内应统一规定。缺省由调用者负责。即一般不需要作参数合法性检查,默认是合法的。这个要看具体情况,如果调用者和接口函数都负责,
那么运行了不必要的代码,都不负责,又可能出错,所以要约定好。

5.对函数的错误返回码,要全面处理:
···
FILE *fp = fopen( “./writeAlarmLastTime.log”,“r”);
if (fp == NULL) {
return;
}

char buff[128] = “”;
if (fscanf(fp,“%s”,buff) == EOF) //这里就是错误返回检查,检查函数fscanf的返回值,确保读到数据
{
fclose(fp);
return;
}

fclose(fp);
long fileTime = getAlarmTime(buff); //解析获取最新的告警时间;
···

6.设计高扇入,合理扇出(小于7)的函数 扇入就是被调用的次数,扇出就是调用其他函数的次数。如果扇出比7大,说明调用别的函数过多了,会增加堆栈的压力,要合并一些(不影响函数功能性的情况下).
扇入高是好事,说明利用率高。一切建立在功能独立性前提下。(可读性)一个功能的,放在一起,即使从函数角度可能可以细分。避免过多不必要的函数调用。这一点上,可读性和效率是一致的。不要有太多太细的函数
了。

7.废弃代码(没有被调用的函数和变量)要及时清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值