《编写高质量代码:改善c程序代码的125个建议》——建议17-1:先处理正常情况,再处理异常情况

简介:

本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第3章,建议17-1,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

建议17-1:先处理正常情况,再处理异常情况

我们在编写代码时,首要原则就是要使正常情况的执行代码清晰,确认那些不常发生的异常情况处理代码不会遮掩正常的执行路径。也就是说,我们应该把正常情况的处理放在if 后面,而不要放在else 后面。这样,不仅符合我们平时的逻辑思维习惯,同时这对代码的可读性和性能也很重要。例如,下面的代码是对学生的成绩及格与不及格进行判断:

if(grade>=60) 
{
    /*处理成绩及格的学生*/
}
else if(grade>=30&&grade<60) 
{
    /*处理成绩大于等于30,并且小于60的学生*/
}
else
{
    /*处理成绩30以下的学生*/
}

这样的代码,不仅看起来很符合我们平时的逻辑思维习惯,而且if 语句在做判断时,正常情况一般比异常情况发生的概率更大(否则就应该把异常和正常调过来了),即及格的学生多于不及格的学生。如果把执行概率更大的代码放到后面,也就意味着if 语句将进行多次无谓的比较,如下面的代码所示:

if(grade<30)
{
    /*处理成绩30以下的学生*/
}
else if(grade>=30&&grade<60) 
{
    /*处理成绩大于等于30,并且小于60的学生*/
}
else 
{
    /*处理成绩及格的学生*/
}

因为及格的学生总是多于不及格的学生,所以在上面的代码中,if 语句将进行多次无谓的比较,同时也难以理解。

相关文章
|
存储 C语言
《编写高质量代码:改善c程序代码的125个建议》—— 导读
众所周知,C语言是一门既具有高级语言特点,又有汇编语言特点的通用计算机编程语言,无论是操作系统(如Microsoft Windows、Mac OS X、Linux和UNIX等)、嵌入式系统与普通应用软件,还是目前流行的移动智能设备开发,随处都可以看见它依然矫健的身影。
1767 0

热门文章

最新文章