主题:【原创】闲聊敏捷编程——测试驱动开发(一) -- 代码ABC
共:💬55 🌺131
复 重构在于抽象
什么是改变的大敌?
一,重复,当一个被复制的到处都是的逻辑需要修改时,代价在于找出所有需要改变的地方,这是困难的。
二,复杂,当一个混乱不堪的程序块需要修改的时候,你需要找到合适的需要修改的地方和修改的方法,这是困难的。
三,耦合,如果所有的程序块都高度耦合,你需要找出合适的修改方法完成改变而不影响到相对应的模块,这更是困难的。
困难到了一定的程度,就是mission impossible. refectoring的作用在于在合适的时候,通过修改代码的结构,把复杂性逐渐增高的逻辑分拆,把重复的逻辑合并,把不合适的逻辑划分改变,从而降低你系统的复杂度和耦合度,提高系统的可读性和灵活性,降低变化的代价。如果没有refectoring,只能叫拥抱需求,只有充分的refectoring,才能说是拥抱变化。
- 相关回复 上下关系8
压缩 2 层
🙂Refactoring zhonghm 字33 2009-06-07 21:59:16
🙂用户的变化,小羊算是抱结实了,重构。。。确实碰到问题了 羽羊 字176 2009-06-07 23:21:31
🙂重构在于抽象 代码ABC 字261 2009-06-08 21:05:34
🙂代码说的不错
🙂现在做的一个很小的内部开发 小木 字277 2009-06-04 08:34:57
🙂敏捷是一个原则,可以有不同的实现方法 代码ABC 字215 2009-06-03 02:23:26
🙂可是这么干的话,大一点的项目就不成了吧 胖鱼 字157 2009-06-03 02:07:30
🙂大一点的系统,小羊也存在疑虑 1 羽羊 字1177 2009-06-03 03:59:07