关于重构

来源:互联网 发布:jquery二维数组赋值 编辑:程序博客网 时间:2024/04/28 01:28

对于重构,我们每个人都在谈论。我不知道重构对于我们日常的编写代码有多么大的影响,我也说不出重构在我们日常的coding 中能占多少分量。

Martin Fowler 曾在他的书中指出重构的概念:...在不改变代码外在行为的前提下对代码做出修改,以改进代码的内部结构的过程。

这个定义说的再简单不过了。每次写完一段代码——不管它庞大也好,简单也好,做出修改的机会少之又少,好不容易实现的功能,能用就可以了,改——还是算了吧!

最近一直再看别人写的代码,不是没有注释,就是注释少得可怜;如果代码段清晰也就罢了,偏偏凌乱不堪。还有的高手为了展示自己水平,简简单单的 数据库操作,偏偏要用反射来处理。

敏捷开发一书中提到了软件模块应该具有三项职责:

1。 它运行起来必须完成一定的功能,这也是该模块得以存在的原因;

2。 它要应对变化,我们有责任保证这种改变应该尽可能的简单;

3。 要能和阅读它的人进行沟通。

有人说重构是为了复用,这么说不是没有道理的。一个清晰,干净的模块不会因为你随意的搬动它而支离破碎。就算是copy,也会简简单单。

更为重要的是,我们不但要和程序交流,程序也要和我们交流,这种交流应该简单。只有简单才能让它方便迅速的传播开来。

因此,我们应该花一些时间来思考一下我们是不是需要重构,更甚者,我们是不是应该重构。

原创粉丝点击