1.使用卫语句取代嵌套表达式
函数中的条件逻辑使人难以看清正常的执行途径。使用卫语句表现所有特殊情况。
动机:条件表达式通常有2种表现形式。第一:所有分支都属于正常行为。第二:条件表达式提供的答案中只有一种是正常行为,其他都是不常见的情况。
。
做法:1、对于每个检查,放进一个卫语句。卫语句要不就从函数返回,要不就抛出一个异常。
2.卫语句就是把复杂的条件表达式拆分成多个条件表达式,比如一个很复杂的表达式,嵌套了好几层的if – then-else语句,转换为多个if语句,实现它的逻辑,这多条的if语句就是卫语句.
3有时候条件式可能出现在嵌套n次才能真正执行,其他分支只是简单 错返回的情况,对于这种情况,应该单独检查 错返回的分支,当条件为真时立即返回,这样的单独检查就是卫语句(guard clauses).卫语句可以把我们的视线从异常处理中解放出来,集中精力到正常处理的代码中。
例如下列代码:
– (void)showName:(NSString *)name
{
if (name != nil)
{
if (name.length >0)
{
NSLog(@“showName”);
}
else
{
NSLog(@“name.length is zero”);
}
}
else
{
NSLog(@“name is nil”);
}
}
– (void)showName:(NSString *)name
{
if (name == nil)
{
NSLog(@“name is nil”);
return;
}
if (name.length ==0)
{
NSLog(@“name.length is zero”);
return;
}
NSLog(@“showName”);
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!