架构真经读书笔记-复杂度

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.三次简化方案:简化需求,简化设计,简化开发部署

你可能感兴趣的:(架构真经读书笔记-复杂度)