本文介绍了Eclipse提供的各种重构。这些重构易于使用,可以确保代码重构更加方便安全。而且可以自动生成代码以提高生产率。
Extract Method
如果方法中含有过多特定的操作,方法太长,或者其中的某段代码被多次使用,这时,可以用提炼方法重构将这部分代码提取到单独的方法中。在Eclipse中应用此重构方便快捷。
选中要提炼的代码段,从重构菜单中选择提炼方法项,或者使用快捷键Alt + Shift + M。
在提炼方法对话框中,输入新方法的名字,选择修饰词,选择是否让新方法抛出运行时异常。在底部提供了新方法的预览。
Extract Local Variable
使用一个变量来代替一个表达式有很多好处。如果表达式在多处被使用,这样能够提高性能,而且也提高了代码的可读性。要把一个表达式提炼为局部变量,选择要提炼的表达式,从重构菜单中选择提炼局部变量项,或者使用快捷键Alt + Shift + L。
在提炼局部变量对话框中输入新变量的名字,选择是否要替换所有的表达式,是否使此变量为final。在对话框的底部提供变量的预览。
Extract Constant
提炼常量与提炼局部变量很相似,唯一的区别是提炼常量重构可以选择提炼出的常量的修饰词,而且此常量将作为类的成员变量。
Introduce Parameter
介绍参数重构在方法中创建新的参数,然后用此新参数取代局部变量或者成员变量的实例。要是用此重构,选中方法中一个成员变量或局部变量的引用,然后从重构菜单中选择介绍参数项。
Introduce Factory
工厂是用来创建新对象,返回新创建对象的方法。你可以选择一个类的构造方法,从重构菜单中选择介绍工厂项,应用此重构,为此类创建工厂方法。
在介绍工厂对话框,输入工厂方法的名字和需要工厂方法创建的对象的名字。选择构造方法的修饰词是否为私有。
点击OK按钮后,在指定的类中会出现此指定工厂方法。此方法创建一个当前类的实例,然后返回此实例。
Convert Local Variable to Field
转换局部变量为成员变量重构,将方法内的变量声明移动到方法所在类中,使该变量对整个类可见。选择一个局部变量,从重构菜单中选择转换局部变量为成员变量项,随后打开配置的对话框。
在此对话框中,添入成员变量的名字,选择修饰词,选择在哪里实例化此成员变量。随后的声明为静态,声明为final 选择项是否可以使用,取决于实例化位置的选择情况。
Encapsulate Field
要正确的实践面向对象编程,应该将成员变量的修饰词置为私有,提供相应的访问器来访问这些成员变量。但是这些操作很烦琐。如果使用了封装成员变量重构,则十分方便。选择一个成员变量,从重构菜单中选择封装成员变量项。
在封装局部变量对话框中,添入Getter, Setter方法的名字,选择新方法在哪个方法后出现。选择合适的修饰词。应用了此重构会创建两个新方法,将此成员变量的修饰词置为私有,将对此成员变量的引用改变为对新方法的引用。
重构项列表:
下表从Eclipse帮助中提取,列出了各种重构支持的Java资源类型,对应的快捷键。
名字 | 可应用的Java元素 | 快捷键 |
Undo | 在一次重构后可执行 | Alt + Shift + Z |
Redo | 在一次撤销重构后可执行 | Alt + Shift + Y |
Rename | 对方法,成员变量,局部变量,方法参数,对象,类,包,源代码目录,工程可用。 | Alt + Shift + R |
Move | 对方法,成员变量,局部变量,方法参数,对象,类,包,源代码目录,工程可用。 | Alt + Shift + V |
Change Method Signature | 对方法可用。 | Alt + Shift + C |
Convert Anonymous Class to Nested | 对匿名内部类可用。 | |
Move Member Type to New File | 对嵌套类可用。 | |
Push Down | 对同一个类中成员变量和方法可用。 | |
Pull Up | 对同一个类中成员变量和方法,嵌套类可用。 | |
Extract Interface | 对类可用。 | |
Generalize Type | 对对象的声明可用。 | |
Use Supertype Where Possible | 对类可用。 | |
Inline | 对方法,静态final类,局部变量可用。 | Alt + Shift + I |
Extract Method | 对方法中的一段代码可用。 | Alt + Shift + M |
Extract Local Variable | 对选中的与局部变量相关的代码可用。 | Alt + Shift + L |
Extract Constant | 对静态final类变量,选中的与静态final类变量相关的代码可用。 | |
Introduce Parameter | 对方法中对成员变量和局部变量的引用可用。 | |
Introduce Factory | 对构造方法可用。 | |
Convert Local Variable to Field | 对局部变量可用。 | Alt + Shift + F |
Encapsulate Field | 对成员变量可用。 | |
本文介绍了Eclipse提供的各种重构。这些重构易于使用,可以确保代码重构更加方便安全。而且可以自动生成代码以提高生产率。
某些重构改变了某些类的结构,但没有改变项目中其他类的结构,如下推,上移重构。这时,就要确保项目中所有对改变元素的引用都要被更新。这也是为什么要有一个好的测试套。同时,你也要更新测试套中的对改变元素的引用。所以说,重构和单元测试的有机结合对于软件开发是多么的重要。
分享到:
相关推荐
我们将通过一个具体的程序实例来展示Eclipse重构的几个关键步骤。 首先,Eclipse的重命名功能可以方便地更新所有相关引用,无论是方法、字段还是变量。在本例中,我们使用《Refactoring:Improving the Design of ...
"512572.htm"可能是一篇关于Eclipse重构的详细教程或文章,可能涵盖了如何使用Eclipse的重构功能,例如如何执行“提取方法”来减少代码重复,如何“重命名”变量或类以保持一致性,以及如何“移动”代码片段到更合适...
Eclipse是一个开放源代码的、可扩展的集成开发环境(IDE)。最初由IBM公司开发,后来由Eclipse基金会管理。Eclipse主要用于Java语言的开发,但通过安装各种插件,它可以扩展支持其他编程语言和平台,例如C/C++、...
Eclipse作为一款广泛使用的集成开发环境,提供了丰富的重构工具,可以帮助开发者高效地进行重构操作。 - **结构性重构** - **Rename**:重命名Java元素,包括包名、文件名、类名、方法名、变量名等。 - **Move**...
Eclipse的自动重构工具为开发者提供了强大的支持,包括但不限于重命名、移动方法、内联、抽取方法和更改方法特征符等功能。这些功能使得重构过程更为高效和精确。 首先,我们来看一个基于《Refactoring:Improving ...
Eclipse提供了丰富的重构工具,帮助开发者高效地进行代码优化。以下是一些主要的重构知识点: 1. **重复代码**:在发现重复代码时,可以使用`Extract Method`进行抽取,快捷键是`Alt + shift + M`。这将创建一个新...
同时,Eclipse的重构工具如提取方法、重命名变量等,能让你的代码更加整洁和易于维护。 6. 使用插件:Eclipse的一大优势在于其丰富的插件库,例如Mylyn用于任务管理,Subversive或Git插件用于版本控制,JUnit进行...
针对JS开发,Eclipse提供了丰富的插件来增强其编辑、调试和项目管理功能。下面将详细介绍"Eclipse下的JS插件"这一主题,以及如何利用这些插件提升JavaScript开发体验。 1. **JavaScript Development Toolkit (JDT)*...
- **重构**:Eclipse提供了丰富的重构工具,如重命名、提取方法、移动文件等。 - **构建工具**:Maven和Gradle插件使得Eclipse能很好地管理依赖和构建流程。 - **调试**:Eclipse的调试器支持断点、单步执行、...
- Java重构:自Eclipse 3.0起,支持扩展实现自己的重构操作。 - 联机帮助:帮助框架和内置的Tomcat Server,提供服务器扩展能力。 - 版本控制:如CVS的支持。 - 在线升级:方便插件的在线升级。 5. 开发Eclipse插件...
"eclipse帮助文档,中文版本"提供的是官方Eclipse IDE的中文参考指南,对于中国用户来说,它极大地简化了学习和使用Eclipse的过程。 1. **Eclipse IDE基础** Eclipse的基础界面由工作台(Workbench)组成,包括...
此外,Eclipse还支持代码重构,如重命名变量、提取方法等,这些都能帮助开发者保持代码的整洁和可维护性。 在调试方面,Eclipse提供了强大的调试工具。通过设置断点、单步执行、查看变量值、调用栈分析等手段,可以...
此外,JDK1.8还对日期和时间API进行了重构,提供了更直观、更易用的日期时间操作方式。 Eclipse与JDK1.8的结合使用,使得Java开发变得更加便捷。在Eclipse中,开发者可以直接配置JDK1.8的路径,利用Eclipse的自动...
为了提高开发效率,Eclipse提供了代码重构、自定义代码格式、产生getter与setter等辅助功能。代码重构功能让开发者可以安全地修改代码结构而不改变外部行为。此外,开发者还可以设置代码风格和格式,以符合团队的...
代码编辑器具有智能感知能力,能够自动完成代码、检查语法错误并提供重构建议。同时,JDT还支持Maven和Gradle等构建系统,使得项目管理更为便捷。 对于Android开发,Eclipse的Android Development Toolkit (ADT) ...