对重构的强大支持是软件开发人员喜爱eclipse的一个最为重要的原因。而eclipse还有一个至少和重构不相上下的优点,那就是其近乎无懈可击的可扩展性。这两者的结合意味着我们可以根据自己的需要来创建展新的重构功能。
介绍
重构在现代软件开发过程中扮演着重要的角色,它能够减轻软件开发人员的工作负担,提高软件开发的生产效率。为了阐明重构的重要性,我们在这里引用了developerworks上david carew提供的关于重构的教程中的一段话:
现在,一个开发者的工作大部分在于对现有的代码进行修改,而不是起草写新的代码。简单的修改可能包括对现有代码进行添加。然而,多样化的修改或扩展的改变会使软件内部结构开始恶化。重构改变软件的内部结构使得软件更容易理解并且在不需要改变其显著的行为的情况下使得修改的代价也更小。 在java软件开发过程中,通过使用eclipse提供的重构工具,我们至少获得了以下好处:
1. 最终产品更为健壮:我们对程序代码的修改将不太可能出错,出现遗漏修改的可能变少,即使出现问题也能够通过undo功能回退到重构前的状态。
2. 提高了生产效率。通常一次重构能够完成对程序代码的多处改动。最为明显的例子可能是eclipse提供的rename重构,它能够在修改名称的同时相应的更改所有的引用。 eclipse为我们提供了多种实用的重构功能,在软件开发过程中使用这些重构能够给我们带来极大的好处。然而,针对每个开发人员的特殊需要,总有一些迫切需要的功能是不能通过已有的重构来获得的。这个时候,我们可以对eclipse平台进行一些扩展,创建适应我们自己需要的重构。如果这个重构恰好能够符合大多数人的需要,我们也可以像其他eclipse的contributor一样,将我们的重构贡献给eclipse社区。
接下来,我们将通过一个例子来展示如何在eclipse中创建新的重构功能。我们这里创建的重构将用于迁移junit的测试用例。我们知道,在当前版本的junit中,一个用于测试的函数必须以字符串"test"作为方法名称的开始。而在即将来到的junit 4中,一个"@test"的annotation被用于标明方法是一个测试方法。我们将要创建的重构将完成这个迁移工作,即在所有的以"test"开始的方法之前加上"@test"标记。@test annotation还可以包含一个timeout属性用来规定方法的最大执行时间,我们在向导中提供了一个页面供用户选择是否需要timeout属性。
结果预览
为了给读者一个直观的感受,我们下面首先介绍本文中例子的实际运行效果。在阅读完本文之后,读者朋友也能够顺利的完成类似的功能。
启动例子程序提供的refactor之后,我们获得了一个由三个页面组成的向导。在第一个页面中,用户可以选择是否需要timeout参数,并且用户能够设置timeout参数的值。
关键字 本文所属关键字相关 与本文相关文章分类 所有文章关键字导航源码编程相关Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏 操作系统/服务器相关Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器 标准 网站致力的规范 |