引言:为了更好的使项目代码规范化,减少Bug的出现,因此最近引入了SonarQube来帮助检测代码问题,这里就分享部分有趣的规则. 注:因为保密原则,文章贴出来的代码都是我按照格式仿写的,并非公司源码. 一. Boxed value is unboxed and then immediately reboxed 解释:已装箱的值被解除装箱,然后立即重新装箱. 示例: User user = new User(); Long userId = (user.getId() == null)? 0 :
1.Abbreviation As Word In Name (默认 关闭)坏味道 主要检查验证标识符名称中的缩写(连续大写字母)长度,还允许执行骆驼案例命名allowedAbbreviationLength 3 6.Annotation Location (默认 关闭)坏味道 主要注释位置allowSamelineSingleParameterlessAnnotationTo allow single parameterless annotation to be located on the
漏洞类型: 1."@RequestMapping" methods should be "public"漏洞 阻断标注了RequestMapping是controller是处理web请求.既使方法修饰为private,同样也能被外部调用,因为spring通过反射调用方法,没有检查方法可视度,2."enum" fields should not be publicly mutable漏洞 次要枚举类域不应该是public,也不应该进行set3.&q
1.".equals()" should not be used to test the values of "Atomic" classes.bug 主要不要使用equals方法对AtomicXXX进行是否相等的判断Atomic变量永远只会和自身相等,Atomic变量没有覆写equals()方法.2."=+" should not be used instead of "+="bug 主要"=+" 与 &