| 场景 | 长函数中的独立片段、需要注释解释的代码 |
|---|---|
| 命名 | 以做什么命名,而非怎么做 |
| 注意 | 提炼后可再次重组到合适的类 |
Java 示例
Java 示例
// 提炼前
void printOwing(double amount) {
printBanner();
System.out.println("name: " + name);
System.out.println("amount: " + amount);
}
// 提炼后
void printOwing(double amount) {
printBanner();
printDetails(amount);
}
void printDetails(double amount) {
System.out.println("name: " + name);
System.out.println("amount: " + amount);
}提炼时若临时变量过多:先 Split Temporary Variable 或 Replace Temp with Query 减少对局部状态的依赖。