哪些问题会被检测出来呢?
- 高优先级
- 重复代码:相同的字符串在一个文件里多次被用,会建议定义一个常量使用;
- 空方法会被检测出来,会建议抛个异常或加注释;
- 一个方法的认知复杂度过高,会要求重构;
- 注释的无用代码会提示及时删除掉;
- 声明的变量没有用会提示及时删掉;
- 一个类不应该继承太多的父类,也即是不能继承太深,一般不超过5个;
- 如果两个变量名定义的过为相似,比如只是某个字母大小写不同,则也会提示改正以增加可读性;
- 类的构造方法里,参数不应该超过7个;
- 常量接口模式是对接口的糟糕使用,也就是说不应该使用一个接口,其里面定义的都是常量,因为一旦有非final类实现了该接口,那么它子类里的命名空间将被接口中的常量污染;
- 方法返回值不建议返回null的情况;
- 低优先级
- 如果一个类里的成员变量只在一个方法里被使用,则建议定义成方法里的局部变量;
- 冗余的代码会提示删除,比如在最后一个条件判断里最后一行添加return语句;
- 在一个类里不要定义public修饰的变量;
- catch块里建议用日志打印出异常;
- 变量修饰符要按顺序声明(1. Annotations、2. public、3. protected、4. private、5. abstract、6. static、7. final、8. transient、9. volatile、10. synchronized、11. native、12. strictfp),如果不按顺序,虽然没有技术上的影响,但影响可读性,因为大部分开发者都是按照标准顺序书写的;
- 变量命名不规范也会提示;