Welcome to My blog

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

若是在

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

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

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

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

posted on 2004-05-14 19:40  Agent  阅读(2059)  评论(0编辑  收藏  举报