【转载】代码检视箴言

代码检视箴言

1           看见了If,就想Else。

2           看见malloc,就去找Free。

3           函数调用要小心,需要看看返回值。

4           看到for循环,就找边界值。

5           看见return要注意,要去前面找资源。

6           看见数组把神提,问题往往在下标。

7           不要小看字符串,长度是个大问题。

8           得到函数不要急,看看变量初始化,各种路径要小心。

9           赋值函数最危险,变量没有初始化。

九句箴言不孤立,相互结合显神威。

 

真言详解

1、看见了If,就想Else。

一看到if语句,就要想到else语句。如果没有else语句,就要分析是不需要,还是异常情况没有处理。

此外,多分支if 判断一定要有最后的else 语句,比如:

if(1 == ulflag)

    {

        printf("ulflag = 1\n");

    }

    else if (2 == ulflag)

    {

        printf("ulflag = 1\n");

    }

    else /* 多分支if语句必须要有这个else分支,哪怕这里面什么事情都不做 */

    {

        /* do nothing */;

    }

 

 

2、看见malloc,就去找Free。

malloc出来的内存,操作系统是不会帮助我们回收的,所以就需要我们主动调用free函数来释放malloc出来的内存。

如果发现函数体里有调用malloc函数的地方,那么我们应该立即检查一下:(以下面的函数为例):

STATUS fun1(ULONG ulRamAddr, UCHAR* pucRam)

{

    UCHAR *pcTemp;

    pcTemp = (UCHAR*)malloc(100);

    if (NULL == pcTemp)  /* 判断内存申请是否成功 */

    {

        printf("fun1 errro: malloc failed!\n")

        return ERROR;

    }

    .....

    if ( ERROR == xxx ) /* 此为异常分支 */

{

   free(pcTemp); /* 异常分支返回前也要释放前面申请的内存 */

    return ERROR;

}

.....

    free(pcTemp); /* 释放前面申请的内存 */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值