| 信号 | 需要滚动多屏、注释充当段落标题 |
|---|---|
| 手法 | Extract Function、Decompose Conditional、Replace Temp with Query |
| 好处 | 可单独命名与测试 |
分解思路
分解思路
parseOrder() {
validate(order);
price = priceOf(order);
discounts = discountFor(order);
receipt = receiptOf(order, price, discounts);
}判断标准不是行数阈值,而是:函数是否在做多件事、每件事是否可命名。