`
ihuashao
  • 浏览: 4721435 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

利用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重构的几个关键步骤。 首先,Eclipse的重命名功能可以方便地更新所有相关引用,无论是方法、字段还是变量。在本例中,我们使用《Refactoring:Improving the Design of ...

    eclipse 重构

    描述中的链接指向了一篇关于Eclipse重构的博客文章,尽管没有具体描述,但可以推测文章可能涵盖了如何利用Eclipse的各种重构功能来优化代码。Eclipse的重构功能包括但不限于: 1. **重命名**:允许开发者更改变量、...

    在eclipse中实施重构.pdf

    ### 在Eclipse中实施重构 ...利用Eclipse强大的重构工具,开发者可以更高效、更准确地改善代码结构,提高代码质量和可维护性。掌握这些技巧对于任何希望提高软件开发效率的开发者来说都是必不可少的。

    2022年Eclipse中自动重构实现探索Java教程.docx

    在本文中,我们将深入探讨如何在Eclipse集成开发环境中利用自动重构功能来优化Java代码。Eclipse的自动重构工具为开发者提供了强大的支持,包括但不限于重命名、移动方法、内联、抽取方法和更改方法特征符等功能。...

    eclipse下的js插件

    下面将详细介绍"Eclipse下的JS插件"这一主题,以及如何利用这些插件提升JavaScript开发体验。 1. **JavaScript Development Toolkit (JDT)**:虽然Eclipse默认支持JS开发,但其功能相对基础。为了提供更强大的JS...

    eclipse linux环境下 安装程序

    Eclipse还提供了丰富的代码提示、重构工具、调试器等功能。 通过以上步骤,你应该能在Linux环境中成功安装并使用Eclipse。记得定期更新Eclipse以获取最新的功能和安全补丁,保持开发环境的稳定性和安全性。同时,...

    使用eclipse 进行ABAP开发.docx

    - 当遇到运行时错误时,可以利用Eclipse提供的短转储分析功能来定位问题。 4. **辅助功能**: - ADT支持多种辅助功能,如大字体显示、高对比度模式等,以适应不同用户的视觉需求。 5. **常用快捷键**: - 快速...

    在Eclipse中的重构的知识点

    在Eclipse中进行重构是提升代码质量和可维护性的重要手段,它涉及到一系列的代码修改操作,但不改变程序的功能。Eclipse提供了丰富的重构工具,帮助开发者高效地进行代码优化。以下是一些主要的重构知识点: 1. **...

    Linux环境下的eclipse安装包

    总之,Linux环境下的Eclipse不仅为开发者提供了一个功能齐全的开发平台,而且与Linux系统无缝集成,充分利用了Linux的稳定性和灵活性。通过熟练掌握Eclipse的使用,你可以提升开发效率,实现高质量的软件开发。

    Eclipse 平台进行 C/C++ 开发Eclipse插件

    在Eclipse中开发C/C++项目,我们可以利用CDT(C/C++ Development Tools)插件,它为C/C++程序员提供了丰富的功能,如代码编辑、构建管理、调试以及版本控制集成等。 一、Eclipse CDT概述 CDT是Eclipse社区的一个...

    2024年最全Eclipse安装和配置环境教程.zip

    本教程不仅提供了Eclipse的基本使用方法,还深入探讨了其高级功能,帮助开发者更全面地理解和利用Eclipse。同时,强调了持续学习和探索的重要性,鼓励开发者积极参与社区活动,以保持技能的最新性和扩展知识面。

    Eclipse Distilled patr1

    全书共分两部分:第一部分说明了如何定制Eclipse工作空间、项目、视图和窗口,以便获得最高的效率,此外还说明了如何利用Eclipse的快速开发、导航和调试特性,最大化程序员的生产力,最优化代码的质量。第二部分完全...

    Eclipse Distilled patr2

    全书共分两部分:第一部分说明了如何定制Eclipse工作空间、项目、视图和窗口,以便获得最高的效率,此外还说明了如何利用Eclipse的快速开发、导航和调试特性,最大化程序员的生产力,最优化代码的质量。第二部分完全...

    随机点名系统 java eclipse

    《随机点名系统在Java Eclipse环境下的实现》 在当今的教学环境中,为了公平公正地进行课堂互动,随机点名已成为一种常见的教学管理手段。本文将详细介绍一个基于Java 1.5版本并使用Eclipse开发环境编写的随机点名...

    eclipse中文教材

    Wrox出版社的《Professional Eclipse 3 for Java Developers》是该领域的经典之作,提供了深入浅出的教程和实用技巧,使读者能够充分利用Eclipse的潜能。 首先,Eclipse是一个开放源码的开发平台,广泛应用于Java...

    eclipse+jdk1.8资源下载

    在Eclipse中,开发者可以直接配置JDK1.8的路径,利用Eclipse的自动补全、代码分析等功能,编写符合JDK1.8规范的代码。同时,Eclipse的调试器可以方便地进行单步调试,检查变量值,定位和修复错误。而Eclipse内置的...

    打造基于Eclipse的IDE产品

    - 利用Eclipse的更新管理机制来方便地进行升级和维护。 例如,Eclipse的视图(View)、透视图(Perspective)、菜单(Menu)和动作(Action)等,都是通过扩展点实现的。开发插件时,可以通过PDE来创建和测试这些...

    Eclipse入门Eclipse的使用简介及插件开发.rar

    Eclipse是一款广泛应用于Java开发的集成开发环境(IDE),它以其强大的功能、高度的可扩展性和灵活性而闻名。本教程将带你一步步了解...通过熟悉其基本操作和插件系统,你将能够更高效地利用Eclipse进行软件开发。

    eclipse帮助文档,中文版本

    Eclipse是一款广泛使用的开源集成开发环境(IDE),主要面向Java开发者,但也支持其他编程语言,如C/C++、Python等。...通过深入学习和利用这份文档,可以更好地掌握Eclipse的各项功能,提升开发效率。

Global site tag (gtag.js) - Google Analytics