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墙, 也许,你会遇到心仪的项目