大头
Table_bottom

标签云
Table_bottom

分类
Table_bottom

日历
二月
28293031123
45678910
11121314151617
18192021222324
252627282912
Table_bottom

评论
Table_bottom

留言
Table_bottom

微博
Table_bottom

热门文章
Table_bottom

随机文章
Table_bottom

豆瓣上谁关注这里
Table_bottom

链接
Table_bottom

搜索栏
Table_bottom

RSS
RSS Link
Table_bottom

功能
Table_bottom

页面
Table_bottom

计数器
464622
Table_bottom

访客统计
Table_bottom

存档
Table_bottom

重构 - 090807

loveisbug posted @ 2009年8月07日 23:25 in 学习 with tags 重构 反思 , 1937 阅读

6.1 Extract Method

提炼(extracting)代码,使每个函数的粒度变小,有着很多好处:函数复用的机会变大;可读性强;函数的override更容易等。

作者说:即使想要提炼的代码非常简单,简单到知识一条消息或一个函数调用,只要新函数的名称能够以更好的方式昭示代码意图,也应该提炼它。

在嵌入式环境里,尤其是空间资源有限的条件下,对Extract Method方法的运用可能需要做一点调整。

单纯使函数粒度变小的提炼需要慎重,除非实际已有复用的代码段。

由于编译器的优化,无法准确预估单纯的提炼一段代码对编译出的二进制代码体积有变大或是变小的影响,更难估计对运行期空间的影响和执行效率的影响。

我的体验是,如果想要提炼一段代码,先试一下,如果大大提高代码的可读性,又没有显著增加代码体积,可行;如果代码段已有“复用”,根据“事不过三,三则重构”的原则,可为,即便会增大代码体积,只要在可以接受的范围内;如果增加了代码体积,这个成本换取的可读性不合算,不为。

至于怎样才是显著增加代码体积,要根据不同工程的情况来判断了。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter