公司有sonar qube 服务器,个人使用需要搭建一个sonar qube 服务器,贴一个教程
http://express.ruanko.com/ruanko-express_65/tech-overnight5.html
使用sonar qube 对项目进行扫描后,项目中存在最多问题的是数据库连接未进行关闭和空指针异常
对于数据库连接未关闭的问题,解决方案为try-with-resource,try-with-resource是Java7中新增的特性,可以自动关闭相关资源,前提是使用的资源类实现了colseable接口或者他的父接口autocolseable。(注意使用try-with-resource的JDK版本应该在Java7及以上)
对于空指针的异常,一般都是对相关代码的逻辑结构进行判断,我在改进的过程中还要考察项目中哪些类调用了此方法,修改此方法的逻辑结构后是否会对其他引用类产生副作用,一般都是加上相关变量或对象是否为空的判断。
在修改代码的这几天,看到的这些bug很多是由于开发人员在编码的过程中对代码的逻辑判断结构没有考虑全面。