美文网首页
[读书笔记]阅读小记

[读书笔记]阅读小记

作者: 小人阳 | 来源:发表于2017-10-11 20:38 被阅读0次
    1. 如何无痛降低 if else 面条代码复杂度
    • if...if型
      • 痛点:复杂度指数型增长(详见原文)
      • 解决方法:将每个if(){}都可以拆分为函数,逐个调用,将复杂度从指数级下降到线性级
    • else if...else if型
      • 痛点:
        - 深层嵌套时,指数型增长
        - 数量过多时,违背职责单一原则
      • 解决方法:
        1. 查找表:拆分每个else if为函数,封装为键值对形式的若干个action,增加一个判断采取哪个action的方法
        2. 当判断条件复杂、action的执行顺序有要求时:
        1. 定义一个数组,数组元素具有match和action属性
        2. 对数据进行遍历,当某个元素的match属性被满足时,执行action并返回
        3. 这样的一个数组被称为职责链数组
    1. Regular 组件开发的一些建议 (https://github.com/kaola-fed/blog/issues/102)
    • 单一职责,避免过于庞大的组件,组件拆分时可以通过容器组件、UI组件来划分
    • 纯函数,将不直接获取、改变data的方法,拆分在组件之外,不放在this上
    • 少用双向绑定,用事件来传递数据,当嵌套过深时,使用esb或状态管理方案
    • this.data只存放UI相关的数据,必要时,将逻辑相关字段放在容器组件上
    • 组件传入参数的结构清晰,并遵循最少知道原则
    • 模版中不使用复杂的表达式,而是使用filter
    • dependencies:业务环境需要
    • devDependencies:开发环境需要
    • peerDependencies:指定当前包兼容的宿主包
    • optionalDependencies: 可选的包
    • bundledDependencies / bundleDependencies:打包依赖

    相关文章

      网友评论

          本文标题:[读书笔记]阅读小记

          本文链接:https://www.haomeiwen.com/subject/ugkgyxtx.html