首页天道酬勤c语言的语句,c语言赋值语句规则

c语言的语句,c语言赋值语句规则

张世龙 05-05 14:32 104次浏览

函数中的条件逻辑使正常的执行路径变得不明显。 使用卫文表达一切特殊情况。

动机:条件式通常有两种表现形式。 第一,所有分歧都是常规行为。 第二,条件式提供的答案中,只有一个是正常的动作,其他是不常见的情况。

这两种条件式有不同的用途。 如果两个分支都是正常行为,则很少有条件应该使用表达式(如if……else……),则应该单独检查条件,如果条件为真,则应该立即从函数中返回。 这种单独检查常常被称为“卫语句”。

replacenestedconditionalwithguardclauses (用保护语句替换嵌套表达式)的精髓是对某个分支给予特别的重视。 这是罕见的。 如果那个真的发生了的话,请进行必要的整理工作后再退出。

卫生词语

如果代码中条件语句过多,建议将多层条件语句更改为保护语句或其他方式

我建议尽量不要用else。 if-else方式可以改写如下。

if(condition ) {

.

返回对象;

}

//接着写else的商业逻辑代码

保护语句是指将复杂的条件式分割为多个条件式。 例如,是非常复杂的公式。 嵌套多层的if - then-else语句被转换为多个if语句以实现其逻辑。 这多个if语句是保护语句。

if(obj!=空) {

doSomething (;

}

转换为保护语句后的代码如下:

if(obj==null ) {

返回;

}

doSomething (;

表达式实际执行嵌套次数为n次,其他分支可能只是返回错误。 在这种情况下,“保护语句”(guard clauses )就是单独检查返回错误的分支,如果条件为真,则立即返回。 保护语句可以使我们的视线摆脱异常处理,集中在通常处理的代码上。

例1

修正前

是语音功能(语音)

{

if(isworkday ) )

{

printf (错误,is work day );

}

else

{

if(isworktime ) )

{

printf (错误,is work time );

}

else

{

rest (;

}

}

修正后

void func () )

{

if(isworkday ) )

{

printf (错误,is work day );

返回;

}

if(isworktime ) )

{

printf (错误,is work time );

返回;

}

rest (;

}

例2

修正前

双字节获取yamount (

{

双结果;

if(isdead () ) ) )。

result=DeadAmount (;

}

else {

if(isseparated () ) }

结果=separated amount (;

} else {

if(isretired () ) }

result=RetiredPayAmount (;

} else {

result=NormalPayAmount (;

}

}

}

返回结果;

}

修正后

双字节获取yamount (

{

if(isdead () ) ) )。

return deadPayAmount (;

}

if(isseparated () ) }

返回separatedpayamount (;

}

if(isretired () ) }

return retiredPayAmount (;

}

返回normalpayamount (;

}

总结

函数中的if条件逻辑会导致难以看到正常的分支执行路径。 使用卫文表达一切特殊情况。

卫文是指,如果某个条件极为罕见,就应该单独检查该条件,如果该条件为真,就应该立即从函数中返回。 这种单独检查常常被称为“卫语句”。

————————————————

java控制语句,java输出语句