本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42167015
在上一篇文章中介绍了“ 内联函数“。本文将介绍“内联临时变量”这种重构手法。
下面让我们一起来学习该重构手法把。(PS:虽然某些重构手法看起很简单,但是和其它重构手法结合起来使用,会产生异曲同工的效果)
发现:你有一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其它的重构手法。
解决:将所有对该变量的引用动作,替换为对它赋值的那个表达式自身。
//重构前 double basePrice = singleOrder.basePrice(); return (basePrice > 1000)
//重构后 return (singleOrder.basePrice() > 1000)
内联临时变量多数情况是作为“以查询取代临时变量”(下一篇将介绍)的一部分来进行使用的,而真正的动机是出现在“以查询取代临时变量”中。 唯一单独使用内联临时变量的情况是:你发现某个临时变量被赋予某个函数调用的返回值。一般来说,这样的临时变量是不会造成任何危害的,也可以放心地放在那儿。但是,如果这个临时变量妨碍了其它的重构手法(例如提炼函数),你就应该将其内联化。
本文主要介绍了重构手法——内联临时变量,该手法和内联函数类似,处理起来比较简单,其主要是结合其它重构手法一起使用。虽然手法比较简单,但是在某些情况下看起来又不得不使用,因为使用其后会让其它重构方法更加便捷。希望本文对你有所帮助。有问题可以留言,谢谢。(PS:下一篇将介绍重构笔记——以查询取代临时变量)
原文地址:http://blog.csdn.net/pistolove/article/details/42290249