卫语句

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进行处理,非常感谢!

上一篇 2016年3月9日
下一篇 2016年3月9日

相关推荐