【1】源代码
1 class WTP 2 { 3 public: 4 WTP(double dPrice = 1, double dQuantity = 10) 5 : m_dPrice(dPrice) 6 , m_dQuantity(dQuantity) 7 {} 8 9 double getDiscount();10 11 private:12 double m_dPrice;13 double m_dQuantity;14 };15 16 double WTP::getDiscount()17 {18 double dAmount = m_dQuantity * m_dPrice;19 if (dAmount > 1000)20 {21 return (dAmount * 0.95);22 }23 else24 {25 return (dAmount * 0.98);26 }27 }
【2】以查询取代临时变量
1 class WTP 2 { 3 public: 4 WTP(double dPrice = 1, double dQuantity = 10) 5 : m_dPrice(dPrice) 6 , m_dQuantity(dQuantity) 7 {} 8 9 double getDiscount();10 11 private:12 double getAmount();13 14 private:15 double m_dPrice;16 double m_dQuantity;17 };18 19 double WTP::getDiscount()20 {21 if (getAmount() > 1000)22 {23 return (getAmount() * 0.95);24 }25 else26 {27 return (getAmount() * 0.98);28 }29 }30 31 double WTP::getAmount()32 {33 return (m_dPrice * m_dQuantity);34 }
【3】总结
以一个临时变量保存某一表达式的运算结果。将这个表达式提炼到一个独立函数中。
将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可以被其他函数使用。
Good Good Study, Day Day Up.
顺序 选择 循环 总结