卫语句简介和使用

简介个人博客,用来做什么?我刚开始就把它当做一个我吐槽心情的地方,也就相当于一个网络记事本,写上一些关于自己生活工作中的小情小事,也会放上一些照片,音乐。每天工作回家后就能访问自己的网站,一边听着音乐,一边写写文章,回想之前踩过的坑。

近期在看《阿里巴巴Java开发手册》,发现了一个之前没接触过的词--卫语句。所谓的卫语句,实际上指的就是在开发复杂的业务逻辑时,出现的大量if()…else if()……else{}结构的逻辑判断时,把这些逻辑判断换为多个if语句,若有某个极其罕见的条件,先单独检查该条件,并在该条件为真时立刻从函数中返回,避免影响后续的逻辑判断。请看以下的例子:

业务逻辑场景:有这么一个逻辑通过一个商品的id获取对应的商品状态类型,然后有一个方法来根据这个类型转化对应的状态。别吐槽为什么不用switch,只是举个例子。

    private int type = getType(id);
    public String getTypeName(int type) {
        String name;
        if (type == 0) {
            name = "过期";
        } else {
            if (type == 1) {
                name = "缺货";
            } else {
                if (type == 2) {
                    name = "扣押";
                } else {
                      name = "正常";
                }
            }
        }
        return name;
    }


以上代码用卫语句的形式来写可换为

    private int type = getType(id);
    public String getTypeName(int type) {
        String name;
        if (type == 0) {
            return "过期";
        }
        if (type == 0) {
            return "过期";
        }
        if (type == 0) {
            return "缺货";
        }
        if (type == 0) {
            return "扣押";
        }
        return "正常";
    }
Top