`

通过插件规范程序员的开发过程(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中使用*这样的通配符,容易造成维护困难。

 

分享到:
评论

相关推荐

    eclipse ide 变得如此热门

    如果你找不到某项功能,要么是你没有好好的去找,要么有一个插件可以实现它。eclipse最糟的地方也是它的功能如此的丰富。拥挤的工具条,臃肿的菜单,以及配置对话框都让我想起了拉比林特斯迷宫(译者注:minotau’s ...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    Google.Android开发入门与实战

    手机功能将会越来越智能,越来越开放,为了实现这些需求,必须有一个好的开发平台来支持,在此由Google公司发起的OHA联盟走在了业界的前列,2007年11月推出了开放的Android平台,任何公司及个人都可以免费获取到源...

    《Google Android开发入门与实战》.pdf

     本书适合具备一定软件开发经验,想快速进入android开发领域的程序员;具备一些手机开发经验的开发者和android开发爱好者学习用书;也适合作为相关培训学校的android培训教材。... 目录 第1章 掀起你的盖头来...

    Code Blocks 8.02 带mingw

    Code::Blocks 是一个免费、开源的全功能跨平台C/C++集成开发环境(IDE)。 Code::Blocks 由纯粹的C++语言开发完成,使用了著名的图形界面库wxWidgets(2.6.2 unicode)。对于追求完美的C++程序员,再也不必忍受Eclipse...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java开源包4

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    精通qt4编程(源代码)

    \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和...

    基于JSP EIMS系统-OA子系统的设计与开发的毕业设计(源代码+LW),主要技术包括Spring、Hibernate、Str

    - 流程管理:实现请假、报销、调休等流程的管理,使得流程审批过程更加规范和高效。 - 通知管理:实现内部通知的发布和接收,保证内部人员及时了解公司的最新动态。 - 文件管理:实现内部文件的上传、下载和共享,...

    基于Java的坦克大战游戏的设计与实现设计软件程序源码+word毕业论文文档.zip

    Eclipse是一个基于java的开放源代码的可扩展开发平台,是知名的跨平台的自由集成开发环境(IDE)Eclipse是一个基于,还捎带了一个标准规范的插件集,包含了Java开发工具(JDK),Eclipse因为安装不同的插件,所以它...

    java开源包8

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    精通Qt4编程(第二版)源代码

    \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和...

    java开源包10

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    Maven实战.pdf

    它内容新颖,基于最新发布的Maven 3.0,不仅详尽讲解了Maven 3.0的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2.x版本进行了对比,以便于正在使用Maven 2.x版本的用户能更好地理解。本书它内容全面,以...

    Maven配置文档

    了 Maven 3.0的所有新功能和新特性,而且还将这些新功能和新特性与 Maven 2.x版本进行了对比,以便于正在 使用 Maven 2.x版本的用户能更好地理解。本书它内容全面,以从专家的角度阐释 Maven的价值开篇,全面介绍 了...

    Code Blocks

    对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。  虽然Code::Blocks从一开始就追求跨平台目标,但是最初的开发重点是Windows系统下的版本,从06年3月21日版本:1.0 ...

    java开源包2

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包1

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    Java资源包01

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

Global site tag (gtag.js) - Google Analytics