📜  IntelliJ IDEA代码重构

📅  最后修改于: 2021-01-03 04:15:54             🧑  作者: Mango

IntelliJ代码重构

重构是在不更改其功能和用法的情况下更改现有程序结构的过程。重构还用于提高代码的可重用性,提高性能并删除重复的功能或未使用的功能。重构是一项应该非常仔细地执行的任务,因为单个错误可能会产生很多错误。

在重构菜单中,我们可以找到所有可能的重构选项。重构还有一个快捷方式选项。 “ 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);
    }
}

现在,我们将使用Employee更改Person类的名称,然后它将修改构造函数main()方法。为此,请按照以下步骤操作:

  • 选择人词
  • 在菜单栏中,转到“重构”->“重命名”。出现以下屏幕。更改名称,然后单击“重构”按钮。

复制重构

此操作用于将一个类复制到另一个类。它可以在现有的一个或新的中完成。为此,请按照以下步骤操作:

  • 转到重构->复制。出现以下屏幕。

  • 输入新名称,选择目标软件包然后单击确定按钮。

移动重构

它是提供给我们将文件移动到另一个位置或作为另一个类的内部类的工具。为此,请按照以下步骤操作:

  • 转到重构->移动。出现以下屏幕。
  • 提供目的地。单击重构

安全删除

仅当未在项目中的任何地方引用该选项时,此选项才会删除该对象,类,方法,接口,参数等。为此,请按照以下步骤操作:

在编辑器中键入以下代码,然后选择“ sayHi”

package MyPackage;
public class HelloWorld {
    static void sayHi(){
        System.out.println("Hi");
    }
    public static void main(String[] args) {
        sayHi();
    }
}

现在转到重构->安全删除

如果在任何地方使用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();
    }
}