[导入]过度设计与设计不足

博客指出Agile既批评过度设计,也否定设计不足。修改过度设计的应用比设计不足的程序容易,设计不足更常见。把握设计的度很难,优秀架构师需预见系统发展障碍。在思维边界处,行动比思考重要,要理解简单设计需有过度设计能力。

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

     Agile批评过度设计(over-engineering)的声音很大,但对于设计不足(under-engineering)同样是持坚决的否定态度 的。修改过度设计的应用比修改设计不足的程序要容易的多。因为简化的途径是明确的,而走向复杂的途径却往往是难以控制的。Refactoring To Patterns试图引入一些经验,但这些可预见的调整多半只在细节处,其影响是局部的。一个复杂性低层次的设计要支持一个复杂性高的应用,所需的代码量 不是线性的堆砌,而是几何级数式的增长,重构的时候需要做出的改变往往也是影响全局的。而事实上,设计不足是比过度设计更加常见的情况。真实的情况也许 是,在真正需要我们做出创造性设计的地方我们因为无知和无能而设计不足,而在那些渴求简单的地方,我们却自诩为先知而加上很多华丽的设计来维护虚幻的可扩 展性。这里的度是很难把握的。高段位的棋手可以比低段位的棋手预见到更多的步数,而一个优秀的软件架构师也需要比普通的程序员更早的预见到系统发展的障 碍。在我们明确可预见的范围内,当然是要把所有的设计做好,而在我们思维的边界处,"行"就变得比"思"重要了。
    大谈"over-engineering"的主多半都有着丰富的过度设计的经验,千万不要把他们回顾时的话语当成是普遍的真理。所谓大巧若拙,精炼的小诗 可比长篇大论难写的多了。有时采用一种简单的处理方式,是因为我们感觉到它不会成为障碍,虽然此时并没有明确的设计过程。你必须有能力进行过度设计,才能 真正理解简单设计的精妙之处
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值