1、Extract Method(提炼函数)2、Inline Method(内联函数)3、Inline Temp(内联临时变量)4、Replace Temp with Query(以查询取代临时变量)5、Introduce Explaining Variable(引入解释性变量)6、Split Te...
分类:
其他好文 时间:
2016-01-27 14:38:49
阅读次数:
189
提炼函数(extract method)内联函数(inline method)内联临时变量(inline temp)以查询取代临时变量(replace temp with query)引入解释性变量(introduce explaining variable)分解临时变量(split tempora...
分类:
其他好文 时间:
2015-12-16 12:20:14
阅读次数:
153
函数模板函数模板就是功能相似的函数写成统一的形式,但是函数的形参类型不同。函数模板的定义:template 或者 template类型名 函数名 (参数名){函数体的定义}函数模板都是以关键字template 开始的,中的是类型参数表,每个类型参数,例如上文的“T“,代表的是类型,可以是内部类型(?...
分类:
其他好文 时间:
2015-08-07 22:00:50
阅读次数:
107
关于源代码的组织:函数模板在实例化的时候编译器要能够看到其定义——这一点是要注意的。包含模型将模板的声明和定义都放到头文件中,不过这样带来的问题是增加了include的开销。显示实例化感觉这个东东比较鸡肋。分离模型export关键字使用export关键字之后即使模板的声明和定义在不同的编译单元中,模...
分类:
编程语言 时间:
2015-06-20 16:57:05
阅读次数:
153
重构那本书中,讲的比较理论化,从中摘取比较有用的部分,总结一下重构的几种手段,便于日后在项目中使用。第六章,重新组织函数: 把重复的代码或者公共的代码抽取成一个方法提炼出来。 设置临时变量问题,有的时候表达式太长的时候,要引入解释性变量,就是增加临时变量。 不需要临时变量的时候,要去掉,简化表达,让...
分类:
其他好文 时间:
2014-12-15 16:46:40
阅读次数:
154
你有一段代码可以被组织在一起并独立出来
讲这段代码放在一个独立函数中,并让函数名称解释该函数的用途
范例:无局部变量
void printOwing(double amount){
printBanner();
//printDetail
System.out.println("name:"+_name);
System.out.println("amount:"+amount);
...
分类:
其他好文 时间:
2014-12-05 12:49:34
阅读次数:
122
OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的Ope.....
分类:
其他好文 时间:
2014-11-21 15:52:15
阅读次数:
644
1)寻找引用点时,最好使用工具,然后再人工review。在看到这个问题的时候,我估计应该是很久之前了。现在用IDE。这个要方便很多。
2)重新组织函数的方法和目标。 其实目标很简单。就是消灭长函数。 常用方法 Extract method Inline Method Replace Temp
wit...
分类:
其他好文 时间:
2014-06-05 16:51:44
阅读次数:
254
Extract Method 提炼函数
过长的函数或者一段需要注释才能理解的代码,就将这段代码放进一个独立的函数中。
函数粒度小,复用机会变大,覆写容易。
高层函数如一系列注释
关键看函数名称和函数本体之间的语义距离。
变清晰,做什么来命名
Inline Method 内联函数
有时可内联到一个大函数后,再从中提炼出组织合理的小型函数。
In...
分类:
其他好文 时间:
2014-05-31 21:43:52
阅读次数:
269