- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Eclipse中建立新的重构效率.doc
在Eclipse中建立新的重构效率
对重构的强壮支持是软件开发职员爱好Eclipse的一个最为需求的起因。而Eclipse另冇 一个至少与重构不相上下的长处,那等于其近乎无懈可击的可放人性。这两者的联系意味着 咱们概略按照自己的需求来创建展新的重构功用。
介绍
重构在当代软件开发过程屮扮演着需求的角色,它概略或许减轻软件开发职员的工作担 负,前进软件开发的生制作从命。为了阐明重构的需求性,咱们在这里引用了 developerWorks 上David Carew提供的关于重构的教程中的一段话:
那时,一个开发者的工作人一部分在于对现有的代码进行修改,而不是草拟写新的代码。 简单的修改概略或许包括对现冇代码进行添加。可是,多样化的修改或放人的窜改会使软件 内查构造初阶恶化。重构窜改软件的内查构造使得软件更易相识并且在不需求窜改其显著的 行为的状况下使得修改的代价也更小。在Java软件开发过程中,颠末运用Eclipse提供的 重构工具,咱们至少获得了如下长处:
终极制作品更加强壮:咱们对挨次代码的修改将不太概略或许堕落,呈现脱漏修改 的概略或许变少,即便呈现标题问题也概略或许颠末Undo功用回退到重构前的状态。
前进了生制作从命。一样平常一次重构概略或许搞定对挨次代码的多处改变。最为 显着的例了多是Eclipse提供的Rename重构,它概略或许在修改称说的同时响应的变更全 数的引用。Eclipse为咱们捉供了多种实用的重构功用,在软件开发过程屮运川这些重构概 略或许给咱们带来极大的长处。可是,针对每个开发职员的特殊需求,总有一些争切需求的 功用是不克不及颠末已冇的重构来获得的。这个时辰,咱们概略对Eclipse平台进行一些放 大,创建适应咱们口己需求的重构。假设这个重构刚好概略或许适宜大过量人的需求,咱们 也概略像别的Eclipse的contributor相同,将咱们的重构贡献给Eclipse社区。
从此,咱们将颠末一个例子來展示如安在Eclipse屮创建新的重构功用。咱们这里创建 的重构将用于迁徙JUnit的测试用例。lifl们晓得,在目丽版木的JUnit中,一个用于测试的 函数必需以字符串“test”作为方式称说的初阶。而期近来口到的JUnit 4中,一个”@Tcst“的 Annotation被用于表明方式是一个测试方式。咱们将要创建的重构将搞定这个迁徙工作,即 在全数的以“test”初阶的方式早年加上n@Testn标记。@Test Annotation还概略包括一个 timeout属性用来规定方式的最大实行时间,咱们在统率中提供了一个页面供用户繁华是否 需求timeout属性。
下场预览
为了给读者一个直观的感到,咱们下面起首介绍本文中例子的理论运行成就。在浏览完 木文來口,读者朋友也概略或许顺遂的搞定相同的功用。
发动例子挨次捉供的Refa首席技术官1?來Fl,咱们获得了一个由三个页面构成的统率。 在第一个页而屮,用户概略繁华是否需求timeout参数,并且用户概略或许设置timeout参 数的值。
图1输入参数
当用户输入参数结束來H,颠末单击Next按钮咱们将进入F—?个页面。统率将进行初 始前提杏抄与终极前提杏抄,并将杳抄的下场反馈给用户。在图2屮咱们概略看到,初始前 提与终极前提都畸形,因而咱们概略进入下一步。
图2显示前提查抄
从此是预览窗口(图3),统率用直观的界面显示了在运用统率来口,咱们将会对源代码 组成怎样的改变。用户概略在这个页面中判断终极的修改是否适宜自己的需求。其它,用户 也概略或许繁华性的取消对某些文件的修改。
当用户查抄预览页面确认不冇标题问题來Id ,用户概略按下Finish按钮从而搞定重构。 这个时辰,源代码会制作牛修改,末端的F场卜?列所示:
_m 1
package main;
public class TestSomething {
@Test(timeout=500)
public void testSomething(){}
小我私家结构和流程
在Eclipse中,一个重构操纵主要由以下三个部份组成:
RefactoringWizard类:RefactoringWizard提供了指导式的用户界血来引导用户搞 定重构工作。不璽要我们做任何工作,Eclipse已经通过RefactoringWizard为我们提供了 预览页面、条件查抄页面以及Undo/Redo等屈从。我们重耍承继这个类从而为重构进程提供 特定的用户界面。
Refactoring类:Refactoring类搞定详细的定位和批改代码屈从。为了创建新的 Refactoring,我们重要承继这个类并搞定重构的逻辑部份。
AST和ASTParser:在Refactoring类中,我们重要对代码发展定位和批改,这可以 通过AST机
您可能关注的文档
- 圆管涵施工组织设计31805.doc
- 圆管涵施工组织设计31843.doc
- 圆管涵施工组织设计32400.doc
- 圆通速递y3地块项目防水工程施工专项方案.doc
- 圆锥圆柱减速器设计说明书11.doc
- 圆锥圆柱齿轮减速器的设计2009.doc
- 圆锥曲线方程知识点总结12423.doc
- 圆锥曲线方程知识点总结12477.doc
- 圆锥曲线椭圆(第一课时)教学的三次改进过程及反.doc
- 土化07理论力学B.doc
- 收银员高级工试题库(含答案解析).pdf
- 考点解析-鲁教版(五四制)8年级数学下册试卷附参考答案详解【轻巧夺冠】.docx
- Unit2 单元达标检测.docx
- 考点解析-鲁教版(五四制)8年级数学下册试卷最新附答案详解.docx
- 考点解析-鲁教版(五四制)8年级数学下册试卷附参考答案详解【培优B卷】.docx
- T∕CACM 1021.222-2018 中药材商品规格等级 紫石英.docx
- 临床常用诊疗技术课件.pptx
- 考点解析-鲁教版(五四制)8年级数学下册试卷最新附答案详解.docx
- 考点解析-鲁教版(五四制)8年级数学下册试卷推荐附答案详解.docx
- 考点解析-鲁教版(五四制)8年级数学下册试卷带答案详解(轻巧夺冠).docx
文档评论(0)