【公共规范】使用常量替换程序中的各种直接量(魔法值)

如:

 public String OSSShipment1(EmEquipmentEntity equipment, WebRequest.EquipmentShipments request) throws Exception {
    if (request.getType().equals(5)) {
        // 业务代码
    } else {
        // 业务代码
    }

    // 其他业务代码
    ....
}

如上述代码,若没有人或者文档对魔法值5进行讲解的话,谁又知道这个5代表什么意思呢?

所以我们在实际开发中,要避免出现魔法值,而是用常量或者枚举来代替。

上述代码可以改成:

/** 设备类型编号为{@value} */
private static final int EMQUIPMENT_TYPE = 5;

public String OSSShipment1(EmEquipmentEntity equipment, WebRequest.EquipmentShipments request) throws Exception {
    if (EMQUIPMENT_TYPE.equals(request.getType())) {
        // 业务代码
    } else {
        // 业务代码
    }

    // 其他业务代码
    ....
}

O Captain! My Captain!