导读
开发代码编写后,我们会遇到CI中的sonar扫描来进行代码质量监控和检查。优雅的高效的无潜在问题的代码值得让你的同事羡慕一天!但是现实很残酷,代码中的"坏味道",每天都在增加,越积越多。清除这些坏味道是我们对代码质量的负责,也是我们编码水平的一个提高。
欢迎关注微信公众号「啄木指北」,原创分享互联网测试开发技术领域的体系建设
远离bug的代码
禁止使用构造方法 BigDecimal(double)
BigDecimal(double) 存在精度损失风险,在精确计算或值比较的场景中可能会导致业务逻辑异常。
反例:
BigDecimal value = new BigDecimal(0.1D); // 0.100000000000000005551115...
正例:
BigDecimal value = BigDecimal.valueOf(0.1D);; // 0.1
返回空数组和空集合而不是 null
返回 null ,需要调用方强制检测 n