Bootstrap

第二章 根据业务类型返回业务名称的多if语句优化

目录

一、引言

二、优化版本一

​三、优化版本二


一、引言

日常开发中,我们经常会看到这种多if else的条件判断语句,随着业务代码量越来越复杂,这种代码会非常难以维护。分析这段代码,我们可以逐步对其进行改善优化:

二、优化版本一

通过hutool的工具包,替代字符串的非空判断,并通过switch来替代if else if else语句,更加结构化

 三、优化版本二

从原始的代码中可以看到,本质是想做一个入参和出参的映射关系,因此我们可以通过枚举来实现

package com.wzx;

import cn.hutool.core.util.StrUtil;

public enum BizTypeEnum {
    BIZ_TYPE_1("1", "业务类型1"),
    BIZ_TYPE_2("2", "业务类型2"),
    BIZ_TYPE_3("3", "业务类型3");

    private String bizType;

    private String bizTypeName;

    BizTypeEnum(String bizType, String bizTypeName) {
        this.bizType = bizType;
        this.bizTypeName = bizTypeName;
    }

    public String getBizType() {
        return bizType;
    }

    public String getBizTypeName() {
        return bizTypeName;
    }
    
    public static String getBizTypeName(String bizType) {
        if (StrUtil.isBlank(bizType)) {
            return null;
        }
        for (BizTypeEnum bizTypeEnum : BizTypeEnum.values()) {
            if (bizTypeEnum.bizType.equals(bizType)) {
                return bizTypeEnum.getBizTypeName();
            }
        }
        return null;
    }
}
package com.wzx;

public class Test {

    /**
     * 通过传入的业务类型,返回对应的业务名称
     * @param bizType
     * @return
     */
    public String getBizTypeName(String bizType) {
        return BizTypeEnum.getBizTypeName(bizType);
    }
}


;