存档

  • Refactor

    为什么要重构?我不知道教科书是或是别人都会怎么讲,但是重构对我来说,基本上就是把一个糟糕的设计重新写一遍。那么,什么是我定义的两糟糕的设计?又怎么样来重写,并且期望能够达到一个怎么样的目的才算是一个好的重构呢? 糟糕的设计: 因为时间紧,任务重,没有进行设计,基本上是随心所欲的写出来的代码; 充斥着“if…else…”,打了无数的补丁,新增功能的时候,就得多增加判断条件; 代码变得越来越复杂,相同的代码出现在了不同的地方,修改一处,必须时刻记着也要修改别的地方 那怎么样来重写呢?完全抛弃以前的代码么? 完全抛弃以前的代码:之前的代码写得实在是太糟糕,没有任何可取之处。而且没有办法使用一些重构工具一进行梳理。我自己没有遇到过这种情况。每一小段代码还不至于写得面目全非,这应该算是代价相对较重的一种重构方法,与其说是重构,不如说是重新写。 使用之前的代码:之前的代码,小的部分还是可以使用的,将它们独立出来,形成单独的模块,并使用一定的模块调用机制(如使用事件机制、插件系统)等,来调合各个不同的模块之间进行谐调工作。 我希望能达到一个几样的效果呢? 简单的说,我比较追求系统的可扩展性(scalability & extensibility)、可维护性、较高的系统性能。 scalability是期望在一个较大的数据集前,系统也可以有一个比较好的表现; extensibility是期望系统能够容易的增减功能; 可维护性是期望系统在需要做出修改的时候,可以更加方便; 较高的系统性能,这个就不必说了,谁都希望自己的程序跑得更快。 有些时候,做重构并不是一个简单的决定,因为你要做出更多的工作,还不一定能搞出一个可用的系统来,但是,有风险的事情,做成功了会收获很大的好处,大部分时间,我还是咬咬牙会去选择重构代码。 ==eof== 这篇文章也发表在AgilePHP上,快去看看,Refactor

    1,276 次查看 | 没有评论
    2010年1月24日 | 归档于 技术, 软件
文章标签 ‘重构’