重构和增加功能

重构和增加功能 

 黄国强 2004年09月16日                                 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acloud_csu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值