一、相关概念
1、循环变量:随循环的每次运行而改变的变量 for(User u:userList) 中的u。
2、结果收集变量:负责将“通过整个函数的运算”而构成的某个值手机起来。作用通常是累加、字符串接合、写入流或者向集合中添加元素。
二、适用范围
1、除了循环变量、结果手机变量之外,还有很多临时变量用于保存一段冗长代码的运算结果,以便稍后使用。如果这样的变量被赋值超过一次,就意味着承担了一个以上的责任。如果一个变量承担了一个以上的责任,它就应该被替换为多个临时变量,每个变量只承担一个责任,每个变量只承担一个责任。
三、既得利益
一个变量只承担一种责任,会是代码更清晰。多个责任容易让阅读者糊涂。
四、做法
1、在待分解临时变量的声明及其第一次赋值出,修改其名称。
2、将临时变量声明为final。
3、以临时变量的第二次赋值动作为界,修改此前对该临时变量的所有引用点,修改为使用新的变量。
4、以后每一次赋值都新建新的变量,重复1、2、3步骤。
分享到:
相关推荐
Split Temporary Variable 分离临时变量 *Remove Assignments to Parameters 去除参数赋值 Replace Method with Method Object 用方法对象代替方法 Substitute Algorithm 替换算法 Chapter 7:...
Split Temporary Variable 分离临时变量 *Remove Assignments to Parameters 去除参数赋值 Replace Method with Method Object 用方法对象代替方法 Substitute Algorithm 替换算法 Chapter 7:...
Split Temporary Variable 分离临时变量 *Remove Assignments to Parameters 去除参数赋值 Replace Method with Method Object 用方法对象代替方法 Substitute Algorithm 替换算法 Chapter 7:...
Split Temporary Variable 分离临时变量 *Remove Assignments to Parameters 去除参数赋值 Replace Method with Method Object 用方法对象代替方法 Substitute Algorithm 替换算法 Chapter 7:...
Split Temporary Variable 分离临时变量 *Remove Assignments to Parameters 去除参数赋值 Replace Method with Method Object 用方法对象代替方法 Substitute Algorithm 替换算法 Chapter 7:...
6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换...
6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换算法)139...
6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换算法)139...
6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换算法)139...
6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换算法)139...
6.6 Split Temporary Variable(分解临时变量) 128 6.7 Remove Assignments to Parameters(移除对参数的赋值) 131 6.8 Replace Method with Method Object(以函数对象取代函数) 135 6.9 Substitute ...
6.6 Split Temporary Variable(分解临时变量) 6.7 Remove Assignments to Parameters(移除对参数的赋值) 6.8 Replace Method with Method Object(以函数对象取代函数) 6.9 Substitute Algorithm(替换算法) 第7章...
对于过长方法,则可以通过“分解方法”(Split Temporary Variable)或“替换算法”(Substitute Algorithm)等技术进行优化。 ### 构建测试与重构的关系 在重构过程中,构建和维护一套强大的测试套件至关重要。书...
6.6 Split Temporary Variable(剖解临时变量) 6.7 Remove Assignments to Paramete (移除对参数的赋值动作) 6.8 Replace Method with Method Object(以函数对象取代函数) 6.9 Substitute Algorithm(替换你的...
在实际操作中,可以通过使用 Split Temporary Variable 或 Replace Temp with Query 这些技巧来优化局部变量的处理过程。 #### 四、Extract Method 的具体步骤 1. **选择要提取的代码片段**:首先确定需要提取出来...
**1.1 Swapping Values Without Using a Temporary Variable(无需临时变量交换值)** 在Python中,可以通过简单的语法来实现两个变量值的交换而不需要额外的临时变量。例如: ```python a, b = b, a ``` 这种方式...
$ 取环境变量的值。 | 管道。把前一命令的输出作为后一命令的输入,把几个命令连接起来。 |经常跟tee连用,tee 把内容保存到文档并显示出来。 三、通用后接命令符 -a 所有(all)。 -e 所有(every),比a更...