Intellij IDEA带了一些有意思的快捷键,或者说自己之前不在意这些快捷键的存在。重构作为单独的一个菜单,显然也突显了其功能的重要性,说说提炼函数,或者说提出方法。
快捷键
Mac:  alt+command+M
Windows/Linux: Ctrl+Alt+M
鼠标: Refactor | Extract | Method
以重构一书代码为例,重构之前的代码
public class extract {
    private String _name;
    void printOwing(double amount){
        printBanner();
        System.out.println("name:" + _name);
        System.out.println("amount" + amount);
    }
    private void printBanner() {
    }
}选中
        System.out.println("name:" + _name);
        System.out.println("amount" + amount);按下上述的快捷键,会弹出下面的对话框

输入
 printDetails那么重构就完成了。
IDE就可以将方法提出来
public class extract {
    private String _name;
    void printOwing(double amount){
        printBanner();
        printDetails(amount);
    }
    private void printDetails(double amount) {
        System.out.println("name:" + _name);
        System.out.println("amount" + amount);
    }
    private void printBanner() {
    }
}还有一种就以Intellij IDEA的示例为例,这像是在说其的智能。
public class extract {
    public void method() {
        int one = 1;
        int two = 2;
        int three = one + two;
        int four = one + three;
    }
}只是这次要选中的只有一行,
  int three = one + two;以便于其的智能,它便很愉快地告诉你它又找到了一个飞盘
 IDE has detected 1 code fragments in this file that can be replaced with a call to extracted method...便返回了这样一个结果
public class extract {
    public void method() {
        int one = 1;
        int two = 2;
        int three = add(one, two);
        int four = add(one, three);
    }
    private int add(int one, int two) {
        return one + two;
    }
}然而我们就可以很愉快地继续和它玩耍了。当然这其中还会有一些更复杂的情形,当学会了这一个剩下的也不难了。
围观我的Github Idea墙, 也许,你会遇到心仪的项目