java魔法值
短信预约 -IT技能 免费直播动态提醒
一、什么是魔法值
魔法值,也叫做魔法数值、魔法数字,通常是指在代码编写时莫名出现的数字,无法直接判断数值代表的含义,必须通过联系代码上下文分析才可以明白,严重降低了代码的可读性。除数字之外,代码中作为key值的常量字符串也被认为是魔法值,尽管其表示含义比数值较为清晰,但是仍然会产生不规范问题。
if( flag = 5 ){a = 2;}
它在运行的时候不会报错,但在代码阅读时很难判断他所代表的含义
二、魔法值的影响
- 代码的可读性下降。
- 数值使用不规范,多处使用不统一,修改时工作量大且容易遗漏。
- 常量字符串作为key时拼写错误,key值无对应value,导致数据异常或缓存无法命中
三、解决方法
定义静态常量
在当前类中使用或在方法内部使用的值, 可以通过定义静态常量的方式来避免魔法值的出现。
public final static Integer ENABLE=0;public final static Integer DISABLE=1;
接口中定义
接口中定义,继承这个接口的实现类都可以使用这些常量
public interface UserService{ public final static Integer ENABLE=0; public final static Integer DISABLE=1;}
使用枚举
@Getter@AllArgsConstructorpublic enum DemoEnums { ENABLE(0, "开启"), DISABLE(1, "关闭"); private final Integer code; private final String name;}
使用
user.setStatus(DemoEnums.ENABLE.value())
来源地址:https://blog.csdn.net/cang_ling/article/details/131667758
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341