1.5 引入解释性变量

【1】源代码

 1 bool wasInitialized()
 2 {
 3     // do something...
 4     return true;
 5 }
 6
 7 void Func(QString platform)
 8 {
 9     if (platform.toUpper().indexOf("MAC") > -1 &&
10             platform.toUpper().indexOf("IE") > -1 &&
11             wasInitialized() && resize > 0)
12     {
13         // do something...
14     }
15 }

【2】引入解释性变量

 1 bool wasInitialized()
 2 {
 3     // do something...
 4     return true;
 5 }
 6
 7 void Func(QString platform)
 8 {
 9     bool bIsMaxOS = platform.toUpper().indexOf("MAC") > -1;
10     bool bIsIEBrowser = platform.toUpper().indexOf("IE") > -1;
11     bool bMorethanResize = resize > 0;
12     if (bIsMaxOS && bIsIEBrowser && wasInitialized() && bMorethanResize)
13     {
14         // do something...
15     }
16 }

【3】总结

程序中有一个复杂表达式。将该复杂表达式(或其中一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途。

Good Good Study, Day Day Up.

顺序 选择 循环 总结

时间: 2024-08-28 08:21:54

1.5 引入解释性变量的相关文章

重构改善既有代码设计--重构手法05:Introduce Explaining Variable (引入解释性变量)

  发现:你有一个复杂的表达式. 解决:将该复杂的表达式(或其中的部分)的结果放进一个临时变量,并以此变量名称来解释表达式用途. //重构前 if((platform.toUpperCase().indexOf("MAC") > -1) && (browser.toUpperCase().indexOf("IE") > -1) && wasInitialized() && resize > 0) {

代码重构之引入解释性变量

意图 临时变量可以帮助你将表达式分解为比较容易管理的形式 在较长的算法中,可以运用临时变量来解释每一步运算的意义 示例 /** * 引入解释性变量之前 * Created by luo on 2017/4/23. */ public class IntroduceExplainingVariableBefore { private String platform; private String browser; private int resize = 0; public void test()

第2章 重新组织函数(3):引入解释性变量、分解临时变量和移除对参数的赋值

5. 引入解释性变量(Introduct Explaining Variable) //引入解释性变量 //重构前 if((platform.toUpperCase().indexOf("MAC") > -1) && (browser.toUpperCase().indexOf("IE") > -1) && wasInitialized() && resize > 0) { //do somethin

引入解释性变量

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42417535         在上一篇文章中介绍了"以查询取代临时变量".本文将介绍"引入解释性变量"这种重构手法.         下面让我们来学习这种重构手法吧. 开门见山         发现:你有一个复杂的表达式. 解决:将该复杂的表达式(或其中的部分)的结果放进一个临时变量,并以此变量名称来解释表达式用途. //重构

sed中引入shell变量

sed中引入shell变量的四种方法1.eval sed 's/$a/$b/' filename2.sed "s/$a/$b/" filename3.sed 's/'$a'/'$b'/' filename 4.sed s/$a/$b/ filename

introduce explaining variable 引入解释变量

一段复杂的计算的表达式(一般 逻辑判断  if(a!=1 && b!=Null && a>b  ) && .... 直接在代码中参与到 代码的逻辑中时 将负责的判断表达式 变成有意义的临时变量 boolean validA = a!=null && a!=1; boolean validB = b!=null; if(valiadA && validB){ ... } 如果可以extract method 可以不用引入解

python基础(内存分析,不引入第三方变量的方式交换变量的值)

a,b指向同一块内存地址 下面方法是重新给b赋值;a,b指向不同的内存地址 字符串或int类型内存分析 不引入第三方变量的方式,交换a,b的值 原文地址:https://www.cnblogs.com/jingw/p/9188511.html

javascript 变量的引入、变量的声明、变量的初始化

变量的引入及声明和初始化: 变量: 操作的数据都是在内存中操作 Js中存储数据使用变量的方式(名称,值--->数据) Js中声明变量都用var--->存储数据,数据应该有对应的数据类型 存储一个数字10,变量的声明及赋值: var num=100; 存储一个名字: Var name=’小黑’; 变量---作用:用来操作数据(可以存储,可以读取) 变量声明(有var 有变量名字,没有值): Js中声明变量都用var js中的每一行代码结束都应该有分号:(写代码有分号的习惯) Js中的大小写是区分

js声明引入和变量声明和变量类型、变量

问题: 在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效. 解决: 使用javascript. 作用 可以让网页和用户进行直接简单的交互. 可以让网页制作特效和动画. 声明js代码域 1.<script type="text/javascript"></script> 2.<script src="js/my.js" type="text/javascript" charest="u