Bad Smell

博客讨论了代码开发问题,随着代码膨胀,修改难度增加,即便采用接受变化的开发方法也难以应对。积极的hacker式开发尝试表明前置设计必要,模块过度分离会使系统行为难确定。在迭代开发中,系统耦合会影响后续设计,Bottom - Up设计应考虑模块协作,OOP精髓是良性耦合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对代码的膨胀越来越觉得提心吊胆
看样子可能是某个部分没有做好充分的准备
虽然还没有进入焦油坑,但每步都觉得比以前艰难, 这也许是一个不可能改变的事实。哪怕是使用接受变化的开发方法,也无法在程序复杂性不断提升的同时保证修改难度不变。
一次积极的hacker式开发尝试确实有许多感想。前置设计绝对是必要的,虽然对于自己并不熟悉的领域,采用蠕动式探索(TracerBullet)能取得很多有益的提示。但是对于整体的把握,模块之间的过度分离化会使整个系统的行为难于确定,特别是当大量模块之间需要紧密协作时,在编码与小设计过程中无法预见一些需要大量协作的问题。

若是在

编码 ---测试集成 --- 重构 --- 增量设计
|                                               |
|____________迭代______________|

这样的过程中,不断增长的整个系统会因为系统本身的耦合性在后续设计中产生对以前设计模块的影响。这其实充分说明了整个系统不管设计时将模块做的多么自闭(Self-contained),系统却是一个耦合工作的实体。因此在进行Bottom-Up设计时,应给予模块之间的协作以相当考虑。这点其实就是OOP的精髓---良性耦合。

当然,对于一个object-based系统,比一个乱七八糟的object-oriented系统,要好应付的多。把绳子绑上与解开死结,需要的工作量不属于一个量级。

Rule is to be broken   ---Robert C. Martin

转载于:https://www.cnblogs.com/earthharp/archive/2004/05/14/9564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值