Linux下的代码淬火技术
作者: 出处:it168.com 更新时间:2007-09-03 责任编辑:liuhao
 
 

6.降低代码的复杂性

降低复杂性就等于降低出错的机率,因为代码越复杂,包含bug的可能性越大,并且找到bug的难度也越大。为此,我们可以将一个复杂的代码段,分解成多个更容易理解的几段代码。这样一来,随着代码的可维护性的提高,软件质量自然有很大提升。

7.自保护性函数

使用自保护性函数是一种有效的调试机制,它能保证软件的正确性。这里的自保护意味着,当你写一个函数的时候,必需审核该函数的输入;并且在输入数据处理成后,还要审核数据的输出,从而确保没有出错。下面我们用一个实例函数加以说明:

STATUS_T checkRegisterStatus( REGISTER_T register, MODE_T *mode )
{
REGISTER_STS_T retStatus;

/* 验证输入 */
assert( validRegister( register ) );
assert( validMode( mode ) );


/*--------------------*/
/*这里省略checkRegisterStatus 的内部处理部分 */
/*--------------------*/


/* 可能改变了模式,检验之 */
assert( validMode( mode ) );

return retStatus;
}

注意,如果表达是结果为非(即0),assert函数就会停止应用,并在标准输出设备上生成一个错误消息。可以通过定义符号NDEBUG的方法来停用assert。

从上例中我们看到,函数首先通过验证输入来确保得到的数据是正确的,然后通过验证输出来保证它给出的数据也是正确的。根据具体情况,我们可能收到错误消息,即使这样我们也能轻而易举地发现错误之所在。另外,assert的作用不仅限于确保函数的输入输出的正确性,还能用来确保内部的一致性。所有应该在调试期间发现的严重错误,都可以利用assert来轻松处理。

8.优化调试输出

太多的输出能够掩盖错误,但输出过少也会漏掉错误,因此我们需要寻找一个平衡点,使得提供的调试输出和错误消息够用,但又不会过量,这需要在实践中具体把握。

 
     
 
 
后退<<上一页 继续>>下一页
[上一页][第1页][第2页][第3页][第4页][第5页][第6页][第7页][下一页]
 
内容导航  
第1页Linux下的代码淬火技术.. 第2页Linux下的代码淬火技术..
第3页Linux下的代码淬火技术.. 第4页Linux下的代码淬火技术..
第5页Linux下的代码淬火技术.. 第6页Linux下的代码淬火技术..
第7页Linux
上一篇 : 熟悉五笔有妙招利用反查.. 下一篇奇虎呼吁举证CNNIC CNNI..
 
  您要为所发表的言论的后果负责,请各位遵纪守法并注意文明用语
标题:  

[ 关于本站 ] [ 广告服务 ] [ 商务合作 ] [ 联系我们 ] [ 合作伙伴 ] [ 法律顾问 ] [ 网站地图 ]
千橡公司 京ICP证041489号 Copyright (c) 1997-2007 All Right Reserved.