关于过度设计的思考(上)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于过度设计的思考(上)
设计是⼀个取舍的过程,⽆论是过度设计还是设计不⾜的问题,都是取舍的结果:
1. 如果不预先设计,随着时间越久,更改成本越⼤
2. 如果预先设计,会增加当前程序的复杂度
这种取舍没有放之四海皆准的标准,需要根据不同项⽬不同⼈员做选择。

在我开发经验当中,总结⼏条参考标准:
1. 可隔离的实现不做优化设计,当性能需要时再进⾏优化,需要单元测试⽀持。

2. 如何为扩展性预留设计?
这是个很纠结的问题,这⾥⾯其实有两个概念:扩展和设计。

设计是为了扩展,但是设计不能完全解决扩展问题,如果⾮要⽤设计解决所有的扩展问题,那基本上就会造成过度设计。

其实很多⼤型项⽬,到了⼀定阶段,就是基本上重写架构了。

这时候,相⽐可扩展的复杂设计,倒不如简单的设计,但是因为设计简单,所以代码更易懂,更容易被重写。

之前看到过⼀句话:有⼀种设计,很复杂,不会有明显的问题;有⼀种设计,很简单,明显不会有问题。

我们应该选择后者。

相关文档
最新文档