IntelliJ IDEA 代码重构
重构是在不改变现有程序的功能和使用情况下改变其结构的过程。重构还可以用于改进代码的可重用性,提高性能,以及删除重复功能或无用功能。重构是一项需要非常小心执行的任务,因为一个小错误可能会产生大量的错误。
在重构菜单中,我们可以找到所有可能的重构选项。还有一个快捷选项可用于重构。
“Ctrl+Alt+Shift+T” 快捷键将打开一个弹出窗口,显示光标悬停的代码片段的所有可用重构选项。
以下是一些重要的重构选项:
- 重命名
- 复制重构
- 移动重构
- 安全删除
- 查找和替换代码重复
重命名
此操作提供了重命名方法、属性、参数等的功能。在这里,我们将以类名Person为例创建一个示例。
public class Person {
private String name;
private String address;
private int age;
public Person() {
this("PeterJohn", 30);
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public static void main(String args[]) {
Person e = new Person();
System.out.println(e);
}
}
现在我们将修改 Person 类名为 Employee ,然后修改 constructor 和 main() 方法。按照以下步骤进行操作:
- 选择 Person 字词
- 在菜单栏中选择 Refactor -> Rename,如下图所示。更改名称后点击 Refactor 按钮。
复制重构
此操作用于将一个类复制到另一个类中。可以在已有的类中进行复制,也可以在新建的类中进行复制。执行此操作,按照以下步骤进行:
- 转到重构 -> 复制。将出现下面的屏幕。
- 输入 新名称 ,选择 目标包 并点击 确定 按钮。
移动重构
这是一种可以将文件移动到另一个位置或将其设为另一个类的内部类的功能。按以下步骤进行操作:
- 进入 重构 – > 移动。将会显示以下屏幕。
- 提供目标位置。点击 重构 。
安全删除
当对象、类、方法、接口、参数等在项目中没有任何引用时,此选项将删除它们。请按照以下步骤操作:
在编辑器中输入以下代码并选择“sayHi”
package MyPackage;
public class HelloWorld {
static void sayHi(){
System.out.println("Hi");
}
public static void main(String[] args) {
sayHi();
}
}
现在转到 **Refactor – > 安全删除 **
如果 sayHi 方法在任何地方都被使用,则会显示在下方的屏幕上。
查找和替换重复的代码
此重构选项可识别与所选方法或常量字段相似的重复代码,并用适当的代码进行替换。要执行此操作,请按照以下步骤进行:
- 键入以下代码,将 光标 定位到要搜索其重复项的位置。
package MyPackage;
public class Person {
private String name;
private int age;
public Person() {
this("PeterJohn", 40);
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void setData(String name, int age) {
this.name = name;
this.age = age;
}
public void showPersonDetail() {
System.out.println("Name = " + name + ", Age = " + age);
}
public static void main(String args[]) {
Person e = new Person();
e.showPersonDetail();
}
}
- 前往 重构 – >查找和替换代码重复项
- 对话框打开,选择IDE将搜索代码重复项的范围
- 重构后,它会给予确认信息,点击 重构 。输出为:
package MyPackage;
public class Person {
private String name;
private int age;
public Person() {
this("PeterJohn", 40);
}
public Person(String name, int age) {
setData(name, age);
}
public void setData(String name, int age) {
this.name = name;
this.age = age;
}
public void showPersonDetail() {
System.out.println("Name = " + name + ", Age = " + age);
}
public static void main(String args[]) {
Person e = new Person();
e.showPersonDetail();
}
}