首页 > 代码库 > Eclipse 重构功能的使用与重构快捷键

Eclipse 重构功能的使用与重构快捷键



重构是什么?
在代码写好之后改进它的设计。



重构分类:物理结构、类层次结构、类内部结构。


名称
快捷键
直译作用范围
描述
RenameAlt + Shift + R  可以对任意变量、类、方法、包名、文件夹进行重新命名,并且所有使用到的地方会统一进行修改。
MoveAlt + Shift + V 字段把字段移到其他类、把类移到其他包


名称
快捷键
直译作用范围
描述
Change Method SignatureAlt + Shift + C修改方法签名方法对方法进行操作,可以修改方法名、访问权限、增加删除方法参数、修改参数顺序、添加方法异常
Extract MethodAlt + Shift + M提取为方法方法任意选中一块代码,自动转换为方法,自动添加参数返回类型。
Extract Local VariableAlt + Shift + L提取局部变量字符/数字通常用于表达式,把其中一个抽取为本地的变量,例如3 + 5 抽取为 int i = 3;
Extract ConstantCtrl+1  Extract to Constant提取常量字符/数字把任意位置的字符串或者数字抽取为一个静态全局常量。所有使用此字符或者数字的也会相应的被替换为使用常量。
InlineAlt + Shift + I内联方法把调用此方法的地方直接替换成此方法的内容。选中任意方法才可使用此功能。(有All invocations 与 Only the selected invocation两个选项)


名称
快捷键
直译作用范围
描述
Convert Local Variable to FieldAlt + Shift + K局部变量转变为全局变量局部变量把局部变量转变为全部变量,可以重新修改变量名。
Convert Anonymous Class to Nested 匿名类转换为嵌套内部类匿名类可以设置类型,内部包含字段类型等。
Move Type to New File 移动类到新的文件嵌套类以嵌套类创建一个新的类文件



名称
快捷键
直译作用范围
描述
Extract Supperclass 提取父类 提取选中字段或方法放置到其父类中(注意提取方法时,先提取其中使用的字段)
Extract Interface 提取接口从一个类的方法生成一个接口(仅当前类的方法会变为接口,其他使用此方法的地方不会)
Use Supertype Where Possible 尽可能使用父类型把选中引用向上转型,变成其父类的引用
Push Down 下推变量、方法把选中方法从父类移到子类中,父类中响应方法变为抽象方法
Pull Up 上移变量、方法与Push Down相反,把子类的方法上移到父类中



名称
快捷键
直译作用范围
描述
Extract Class 提取为类字段把所有选中字段提到新类中,可以选择新建文件也可以使内部类
Introduce Parameter Object 引入参数对象方法把方法参数抽取为一个类(避免参数在方法内引用被修改异常)

名称
快捷键
直译作用范围
描述
Introduce Indirection   让其他类可调用当前类某方法
Introduce Factory 引用工厂构造函数用方法返回一个对象
Introduce Parameter 引入参数 将字段抽取为方法中的参数
Encapsulate Filed 封装字段 为字段提供setter/getter方法

Introduce Factory
Selected entity is not a constructor invocation or definition.

名称
快捷键
直译作用范围
描述
Generalize Declared Type   把非原始对象字段(或方法参数)替换为其父类型。
Infer Generic Type Arguments   为原始形式的那些类型推测恰当的泛型类型
Generalize Declared Type 可能出现的异常
Generalize Declared Type is not supported on primitive types. 不支持原始类型



名称
快捷键
直译作用范围
描述
Migrate JAR File    
Create Script    
Apply Script    
History    





参考资料
《Eclipse 3高级编程》

探索 Eclipse JDT 中的重构功能

在 Eclipse 中创建新的重构功能





Eclipse 重构功能的使用与重构快捷键