| 场景 | 两三个函数仅常量或字面量不同 |
|---|---|
| 做法 | 合并 + 参数化 + 调用点替换 |
| 反向 | Remove Flag Argument |
Java 示例
Java 示例
// 之前
int tenPercentRaise(Person p) { p.salary *= 1.1; }
int fivePercentRaise(Person p) { p.salary *= 1.05; }
// 之后
void raise(Person p, double factor) { p.salary *= factor; }