您的位置:首页 > 编程语言 > Java开发

eclipse 的重构使用

2015-10-03 20:26 393 查看

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
在一次重构后可执行
[align=left]Alt + Shift + Z[/align]
Redo
在一次撤销重构后可执行
[align=left]Alt + Shift + Y[/align]
Rename
对方法,成员变量,局部变量,方法参数,对象,类,包,源代码目录,工程可用。
[align=left]Alt + Shift + R[/align]
Move
对方法,成员变量,局部变量,方法参数,对象,类,包,源代码目录,工程可用。
[align=left]Alt + Shift + V[/align]
[align=left]Change Method Signature[/align]
对方法可用。
Alt + Shift + C
[align=left]Convert Anonymous Class to Nested[/align]
对匿名内部类可用。
[align=left]Move Member Type to New File[/align]
对嵌套类可用。
[align=left]Push Down[/align]
对同一个类中成员变量和方法可用。
[align=left]Pull Up[/align]
对同一个类中成员变量和方法,嵌套类可用。
[align=left]Extract Interface[/align]
对类可用。
[align=left]Generalize Type[/align]
对对象的声明可用。
[align=left]Use Supertype Where Possible[/align]
对类可用。
Inline
对方法,静态final类,局部变量可用。
[align=left]Alt + Shift + I[/align]

[align=left]Extract Method[/align]
对方法中的一段代码可用。
[align=left]Alt + Shift + M[/align]

[align=left]Extract Local Variable[/align]
对选中的与局部变量相关的代码可用。
[align=left]Alt + Shift + L[/align]

[align=left]Extract Constant[/align]
对静态final类变量,选中的与静态final类变量相关的代码可用。
[align=left]Introduce Parameter[/align]
对方法中对成员变量和局部变量的引用可用。
[align=left]Introduce Factory[/align]
对构造方法可用。
[align=left]Convert Local Variable to Field[/align]
对局部变量可用。
Alt + Shift + F
[align=left]Encapsulate Field[/align]
对成员变量可用。
本文介绍了Eclipse提供的各种重构。这些重构易于使用,可以确保代码重构更加方便安全。而且可以自动生成代码以提高生产率。
某 些重构改变了某些类的结构,但没有改变项目中其他类的结构,如下推,上移重构。这时,就要确保项目中所有对改变元素的引用都要被更新。这也是为什么要有一 个好的测试套。同时,你也要更新测试套中的对改变元素的引用。所以说,重构和单元测试的有机结合对于软件开发是多么的重要。

来源: </article/1709493.html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: