如何降低函数复杂度

1.命令和查询分离

  • 命令是指做什么(mock测试)
  • 查询是表示返回什么(stub测试)

2.使用JSLint,验证代码合理性

3.圈复杂度<10

圈复杂度:在完全覆盖代码的情况下,需要编写的单元测试的最小数量

工具:jscheckstyle

4.代码的复用

  • 使用其他人维护的可用于生成环境的第三方(外部或内部)代码
  • 复用自己的代码--如果代码被编写了两遍,就将其提取到函数中去

5.低扇出

扇出:过程A的扇出是表示过程A的内部流程数量与过程A所更新的数据结构数量之和

做法:

  • 避免单个函数做太多的事
  • 避免关联太多的外部函数
  • 建立抽象层

6.常用功能高扇入,不常用功能低扇入

扇入:过程A的扇入是过程A 的内部数据流程数量与欲从过程A中获取信息的数据结构数量之和

7.低耦合

参考:<编写可测试的JavaScript代码>第二章

转载于:https://www.cnblogs.com/jun3101s/p/6278105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值