重构和增加功能

来源:互联网 发布:c语言如何调用子函数 编辑:程序博客网 时间:2024/06/05 10:49

重构和增加功能 

 黄国强 2004年09月16日                                 

    今天有一位同事问到一些开发的问题,我认为比较典型,故写上一段短文,希望能给大家一点启发。
    我们遇到软件增加功能的时候,传统的方法是拿过源代码直接动手修改。这本身亦无可厚非,一般都是这样。但如果我们换个角度,从敏捷开发方法的角度考虑,却大有问题。因为直接修改代码本身有一个可怕的后果,就是引入bug,原先正常运转的功能面临被破坏的危险。
    敏捷开发方法以快速响应用户需求和提供高质量的产品而博的广泛的赞誉。从这个角度分析,上述增加功能的行为应该由两部分步骤构成,即重构和OCP扩展。我们看一下重构的定义。重构即在不改变现有功能的情况下修改现有代码。而OCP(开闭原则)的定义是在不改变现有代码的情况下,扩展软件功能。
    所以,第一步我们改代码的时候千万不要引入新的功能。重构的目的是在增加新的功能的时候不用更改现有的哪怕一行代码。第二步OCP扩展阶段则用继承的方式增加新的类来扩展软件的功能,从而达到在不修改现有代码的情况下扩展软件功能的目的。
    好像有点过于理想化了,不过尽量把握这个原则,才能使我们有可能开发出高质量的软件产品。否则必然陷入泥潭而不能自拔。

原创粉丝点击