通过插件规范程序员的开发过程(4)(Eclipse 代码助手新功能发布)

助手继续更新,该插件其他功能,请参见博客第一篇日志和第二篇日志

JSP页面无相关QuickFix功能,请参照提示进行修改

 

 

该插件在Eclipse kepler SR1的Eclipse IDE for Java EE Developers 版本下测试通过

该插件在Eclipse Luna (4.4)的Eclipse IDE for Java EE Developers 版本下测试通过

 

修改BUG

1:修正new String() 字符集建议,只对一个参数,并且参数是字节数组的才会提出修正意见

功能新增

2:修正<c:out 在html标签内无法正确提示跨站的问题.

 

1:JSP页面中在&nbsp后加空格会导致IE8,9,10换行,提示去掉空格

2:在Java中写入绝对路径,提出修改建议

3:import请不要使用通配符*,请import具体类名

4:Java Field字段请定义为private(static除外),如需对外访问请在类中提供方法以方便其他类调用

5:修正eclipse kepler-SR1下汉字字体小的问题

6:强制Eclipse显示行号

 

 

之前已有功能

对Java代码增加以下提示

1:java.net.URLEncoder.encode 增加没有encoding的提示

2:getBytes增加没有encoding的提示

3:System.out.println 提示以下内容 此方法在生产环境会造成日志过大,但out日志无法按照日期生成文件,将造成日志过大,运维困难

4:System.exit提示以下内容 此方法会造成程序异常退出,请删除此语句

5:System.err.println 提示以下内容此方法在生产环境会造成日志过大,但out日志无法按照日期生成文件,将造成日志过大,运维困难

6:java.net.URLDecoder.decode 提示以下内容方法已经不建议使用,此方法会取得系统变量作为字符集,在系统对接等会存在潜在问题,字符集需明确

7:对Exception的printStackTrace方法提示以下内容此方法在生产环境会造成日志过大,但out日志无法按照日期生成文件,将造成日志过大,运维困难

8:java.util.Locale.getDefault提示以下内容:java.util.Locale.getDefault()为取得系统环境变量值,不建议使用此方法,建议使用Locale.SIMPLIFIED_CHINESE,输出值为zh_CN,或者从上下问中获得,程序将会读取zh_CN结尾的properties文件

9:在源文件中的类和Jar包的类相同的话,提示包有相同的包路径和类名,在不同的环境中会因为加载顺序引起生产调用不同的包的的类,进而导致生产异常,请修改Java类名称

10:对java.lang.Double提示以下内容java.lang.Double为为不精确数字类型,请使用java.math.BigDecimal()代替

11:java.lang.Float提示以下内容:java.lang.Float为不精确数字类型,请使用java.math.BigDecimal()代替

12:float提示以下内容:float为不精确数字类型,请使用java.math.BigDecimal()代替

13:double提示以下内容:double为不精确数字类型,请使用java.math.BigDecimal()代替

14:java.util.Random提示以下内容:java.util.Random类型不够安全,请使用java.security.SecureRandom代替

15:在doInSqlMapClient方法中使用startBatch和executeBatch提示以下内容:

doInSqlMapClient方法中,已经使用了批量提交方法,不需要再次使用startBatch,同时这个在Oracle数据库中会造成执行进程处于假死状态,无法自动结束,去掉此代码即可

16:对new String()提示以下内容:new String(byte[])方法不建议使用,会取得系统默认字符集,需要明确byte[]数组对应的字符集,系统内字符集为UTF-8,其他系统字符集为GBK,请选择对应的字符集进行填写

17:目前大多数使用的是spring框架,一般在类中使用的都是单例方法,对容易引起内存混乱的代码进行提示

此类为单例,在并发情况下,会存在内存混乱现象,因此类中不能对此变量进行赋值,如确认此方法确实在整个系统运行过程中只调用一次,请在方法注释中添加Method_Once_Invoke,解决方法需经过项目经理或者组长确认

 下面是如何使用此插件进行版本比较

1:设置SVN的URL,用户名和密码



2:选中文件点击右键的compare中的生产版比较,即可将生产代码和本机代码进行对比



 



目前已经实现的功能是检查Ibatis的一些开发规范
1:在Ibatis的select,update,delete,insert中不能插入中文代码,此尤其对一些隐性的比如中文半角全角逗号有效。能够在编辑期间就及时发现。
2:在Oracle中有程序员会使用在where中使用to_char和to_date方法,此方法在数据量比较大的时候会引起数据库执行语句的性能低下,提出对应的修改建议。
3:在Web工程中的Ibatis中执行语句中包含$符,一般此类会存在SQL注入风险,提示并给出修改意见
4:不建议在ibatis中使用*这样的通配符,容易造成维护困难。

猜你喜欢

转载自allon2.iteye.com/blog/2091815