如何解决为什么在生产代码中使用断言框架不好?
Java 有关键字 assert
,但必须使用 java -ea
启用。所以我想到了在生产代码中使用断言框架(如assertj)而不是验证框架的想法。但关于 https://rules.sonarsource.com/java/RSPEC-5960 似乎是不好的做法。我不知道为什么,因为验证和断言很相似。
有人知道明确推荐用于生产代码的断言框架吗?或者我应该用旧的方式:
if(!isValid(x)){
throw new IllegalArgumentException("value not valid.");
}
而不是像:
assert x
解决方法
我在生产环境中使用了我们自己开发的断言,例如:
Member memberDb = memberDao.findMemberByPhoneNumberAndPassWordAndProduct(member.getPhoneNumber(),member.getPassWord(),ProductType.BOOKING.ordinal()); Asserts.asserts(null!= memberDb,ErrorType.USERNAME_OR_PASSWORD_ERROR);
它可以很好地工作,如果您需要,我会详细回复您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。