博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IDEA Inspection检查出的不规范代码
阅读量:6244 次
发布时间:2019-06-22

本文共 2193 字,大约阅读时间需要 7 分钟。

hot3.png

文档注释不规范:

  • @throws等后面必须有空格,对参数或异常需要有描述
  • @Autowired提示不推荐这样使用,spring推荐使用构造函数注入,注入的Bean提示可以使用private修饰符,之前使用的是protected
  • @time等标签提示错误

集合初始化多余

public class DetailController{public detail(){        //此处List不用初始化,使用null或创建对象初始化都会提示多余        List
downloadList = null; if (newsAdvice.getIsText() == 1) { downloadList = downloadDao.getByData4(id); view.addObject("downloadList", downloadList); } }} public class TestPaperController extends BaseController { public String checkMsg() { //此处msg不初始化会报错,如果出现执行时不进入if,就会出错 String msg ; String idCard = request.getParameter("idCard"); Applicant applicant= applicantDaoR.selectOne(idCard); if (applicant == null) { msg = "false"; } return msg; }}/*总结:对于类中的属性,引用类型可以只声明不创建对象,后续代码中使用该属性不会提示错误,编译也通过;这是Java多态的体系,可以在运行时动态绑定;不初始化是可以的。对于集合,在定义集合之后的第一操作如果是给集合初始化,也就是赋值,那定义时的初始化时多余的;*/

 

无意义表达式恒为true或false

null!=questionMap.get("options")+""(sysMenu != null)  //sysMenu为Map,前面通过其获取值,如果为空,在此之前就会保存,所有这样提示

不必要的装箱和拆箱(unnecessary unboxing )

Long.valueOf(menuId).longValue()//在比较基本类型包装类值的时候需注意使用equals,但赋值的时候会自动装箱和拆箱

unchecked assignment

Map
map = new HashMap();//如,提示将map类型变成HashMap​​​​​​​

返回值被忽略了

File saveDirFile = new File(savePath);if (!saveDirFile.exists()) {  saveDirFile.mkdirs();}//创建目录返回bool值被忽略了,应该检查是否创建成功

重复的变量

String path = "a";String currentDirPath = path;//path在前面定义过了,这样做是否有意义,比如起个别名//或者String[] urlname = url.split("/");String uname = urlname[(urlname.length - 1)];//可以直接使用数组最后一个值,没必要先赋值给变量

使用最简单的方式

//if条件中使用方法和使用表达式那种方式好,如path.indexOf("..") >= 0//提示表示可以替换为path.contain("..");

非法表达式

@RequestMapping(value = "/checkMsg")    @ResponseBody    public String checkMsg() {        String msg = "false";        String idCard = request.getParameter("idCard");        Applicant applicant= applicantDaoR.selectOne(idCard);        //IDEA提示非法表达式如下  Error:(86, 60) java: 非法的表达式开始        if (applicant != null&&1==applicant.getCheckStatus()) {            msg = "true";        }        return msg;    }

其他

  • dereference,间接引用可能造成空指针异常,
  • 一个void方法的末尾使用return是多余的
  • interface中的方法是用public和abstract修饰是多余的

转载于:https://my.oschina.net/u/3160411/blog/818432

你可能感兴趣的文章
[转载]使用 CTTeleyphonyCenter 截获来去电及短信消息
查看>>
linux 防火墙命令
查看>>
okhttp3使用
查看>>
android 6.0 权限设置详解
查看>>
php面向对象编程
查看>>
Apache HTTPD 正向(forward)和反向(reverse)代理
查看>>
工厂模式的jdbc
查看>>
十三周三次课(6月21日)
查看>>
linux目录结构详细介绍
查看>>
分享微信开发Html5轻游戏中的几个坑
查看>>
NBU MediaServer DrivePATH Missing
查看>>
useradd/usermod -p 指定用户密码
查看>>
CSS第一天
查看>>
memcache与一致性HASH算法
查看>>
正则表达式引发的血案
查看>>
机器学习中的概率模型和概率密度估计方法及VAE生成式模型详解之三(第1章)...
查看>>
Ubuntu学习之grep
查看>>
远距离混合语音识别方法的研究
查看>>
Java线程实现与安全
查看>>
分享一款意想不到好用的手机PDF编辑器
查看>>