zoukankan      html  css  js  c++  java
  • 《架构真经》阅读笔记二

    本次阅读的是《架构真经》关于“复杂度”的知识内容,以下是自己的学习总结:

    一.避免过度设计

    1、不要超过实际使用需求,例如:设计支持100亿人登陆的系统、家用空调可以达到零下的度数等等

    2、不要把事情做复杂或者以复杂的方式工作,让事物超过实际需要进行工作。select * 却不需要所有的列一次请求反复查询同样的数据而未使用缓存

    3让用户费不必要的精力,增加用户不使用的功能,比如如果微博提供转化pdf下载,就是不必要,这方面微信做的非常好,功能做的很克制,用户使用门槛非常低

    4让工程师去理解不必要的事情

    (1)代码写的特别复杂,不清晰,设计的过于复杂,比如一个功能设计了十几个开关、十几个参数配置等等。设计的太复杂了,对于设计评审、代码review、测试评审都是灾难,其余专业的人员也很难发现问题并提出专业的意见,会严重降低工程的质量,如果不能及时修正,就会最终失控,如果出现故障,无法在短时间内进行解决和修复。

    二.避免过度设计的原则

    DID原则

        DDesign)  按照20倍进行设计

        IImplement) 按照3倍进行实现

        DDeploy)按照1.5倍进行部署,其中基础设施要可扩展比如使用云等

    三. 三次简化方案

    (1)简化需求,简化设计,简化开发部署:

    2帕累托原则(80-20法则):业务中最繁忙的代码应该只占总代码量的20%,所以精简项目的开发模块,把精力集中在这重要的20%的代码开发上最小化可行产品:以最小的努力获得经过验证的最大化客户感知量。

  • 相关阅读:
    el-table背景色透明
    判断数组对象里的属性值是否重复
    :Duplicate keys detected: 'xxx'. This may cause an update error.
    钉钉微应用附件下载方案
    探索JS引擎工作原理
    js深度优先遍历和广度优先遍历实现
    微前端qiankun从搭建到部署的实践
    浏览器与Node的事件循环(Event Loop)有何区别?
    JS
    微信小程序预览Word文档
  • 原文地址:https://www.cnblogs.com/lover995/p/13095566.html
Copyright © 2011-2022 走看看