【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 else 24 { 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 else 26 { 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.
顺序 选择 循环 总结