【公共规范】使用常量替换程序中的各种直接量(魔法值)
如:
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 {
// 业务代码
}
// 其他业务代码
....
}