重构,改善既有代码的设计 第二章(1)

@关于间接层的概念。

间接层就是我们所提炼出来的小函数。本来事情是可以交给一个大函数一次性去执行完的,可是我们为什么还要把他分割成小函数,再委托小函数这个间接层去完成事情呢。以下是作者总结出来的三点间接层的好处。

1、 允许逻辑共享。也就是说小函数做的这些小事情,子类也同样可以做,而且跟其他事情互不干扰。

2、间接层给了我们一个解释自己意图的机会。间接层允许我们选择最适合表达我们意图的名字来命名,那在调用这些函数的时候,我一看他们的名字就知道他们可能会做些什么事情。就像Justin昨天写的那个 A()

                            {

                                     …

                                     ….

                                     ….   200 

}

改成

A()

{

         A1();

         A2();

         A3();

}

A1()

{

         …….

}

A2(){….}

A3(){….}

这样你在整理逻辑的时候,头脑会很清醒。(因为名字是我们赋予他们的意义)

3、将变化加以隔离,当我需要修改一些逻辑的时候,我可以把我在整个项目中掀起的波澜降低很多。

@在有些开源的框架内,我的接口名字已经公布了,可是现在我在重构的时候需要改变这些接口名字,改怎么办呢?

这时候可以保留旧的接口,然后在旧的接口中用新接口来实现逻辑。一直持续到所有用户都开始使用新接口的时候,再把这个旧接口去掉。

@这个世界不存在一条万能的定律能解决一切问题(我曾经想象要是有这么一条定律就好了,这也是很多哲学家,科学家所追求过的),所以不要试图用重构来拯救整个世界。有以下几种情况重构不适用。

当代码已经腐朽到连正常功能都不能运行的时候,也许重写(从头再来一遍)比重构要来的简单。

有的时候临近发布,我们要赶眼前的时间,就不应重构了。重构其实是一剂中药,虽然药效很好,但是效果却也来的慢一些。如果是赶时间发布,那就不要寄希望于重构了。重构是我们欠的债,很多时候我们都是举债来发布的,但是债都是有利息的,“过于复杂的代码所造成的【维护和扩展的额外开销】就是利息。一定的利息我们可以承受,但是利息过高就会被拖垮。“出来混总是要还的”。最近几次发布都通宵,这也许就是我们的重构债欠的有点过多的信号。是时候来偿还一些债了。


posted on 2010-02-04 11:36 键盘动物 阅读(245) 评论(1)  编辑  收藏

评论

# re: 重构,改善既有代码的设计 第二章(1)[未登录] 2010-02-04 14:18 呵呵

不错  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

导航

统计

常用链接

留言簿

随笔档案

新闻分类

搜索

最新评论

阅读排行榜

评论排行榜