1.避免过度设计
1.1 不要超过实际使用需求,例如:设计支持100亿人登陆的系统、家用空调可以达到零下的度数等等
1.2 不要把事情做复杂或者以复杂的方式工作
1.2.1 让事物超过实际需要进行工作
select * 却不需要所有的列
一次请求反复查询同样的数据而未使用缓存
1.2.2 让用户费不必要的精力,增加用户不使用的功能
比如如果微博提供转化pdf下载,就是不必要
这方面微信做的非常好,功能做的很克制,用户使用门槛非常低
1.2.3 让工程师去理解不必要的事情
代码写的特别复杂,不清晰
设计的过于复杂,比如一个功能设计了十几个开关、十几个参数配置等等
这个我太有感触了,设计的太复杂了,对于设计评审、代码review、测试评审都是灾难,其余专业的人员也很难发现问题并提出专业的意见,会严重降低工程的质量,如果不能及时修正,就会最终失控,如果出现故障,无法在短时间内进行解决和修复。
2.避免过度设计的原则
DID原则
D(Design) 按照20倍进行设计
I(Implement) 按照3倍进行实现
D(Deploy)按照1.5倍进行部署,其中基础设施要可扩展比如使用云等
3.三次简化方案:简化需求,简化设计,简化开发部署
网友评论