-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path11.3_RemoveFlagArgument.ts
More file actions
49 lines (45 loc) · 1.37 KB
/
11.3_RemoveFlagArgument.ts
File metadata and controls
49 lines (45 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
*
* Remove Flag Argument
* 移除标记参数
*
*/
/**
* 重构前
*/
function _deliveryDate(anOrder, isRush) {
if (isRush) {
let deliveryTime;
if (['MA', 'CT'].includes(anOrder.deliveryState)) deliveryTime = 1;
else if (['NY', 'NH'].includes(anOrder.deliveryState)) deliveryTime = 2;
else deliveryTime = 3;
return anOrder.placedOn.plusDays(1 + deliveryTime);
} else {
let deliveryTime;
if (['MA', 'CT', 'NY'].includes(anOrder.deliveryState)) deliveryTime = 2;
else if (['ME', 'NH'].includes(anOrder.deliveryState)) deliveryTime = 3;
else deliveryTime = 4;
return anOrder.placedOn.plusDays(2 + deliveryTime);
}
}
/**
* 重构后
*/
function deliveryDate(anOrder, isRush) {
if (isRush) return rushDeliveryDate(anOrder);
else return regularDeliveryDate(anOrder);
}
function rushDeliveryDate(anOrder) {
let deliveryTime;
if (['MA', 'CT'].includes(anOrder.deliveryState)) deliveryTime = 1;
else if (['NY', 'NH'].includes(anOrder.deliveryState)) deliveryTime = 2;
else deliveryTime = 3;
return anOrder.placedOn.plusDays(1 + deliveryTime);
}
function regularDeliveryDate(anOrder) {
let deliveryTime;
if (['MA', 'CT', 'NY'].includes(anOrder.deliveryState)) deliveryTime = 2;
else if (['ME', 'NH'].includes(anOrder.deliveryState)) deliveryTime = 3;
else deliveryTime = 4;
return anOrder.placedOn.plusDays(2 + deliveryTime);
}