读书笔记-编写可测试的 JavaScript 代码-第二章?

本章节探讨了代码复杂度及其影响,强调了避免复杂性的关键在于保持函数简洁,如通过分离命令和查询、使用mock和stub测试。JSLint被推荐用于检查代码质量。此外,介绍了圈复杂度、代码重用、扇出和扇入的概念,指出它们对代码可维护性的影响。高扇出和扇入可能导致紧耦合和高复杂度,建议通过命令查询分离来降低。耦合的类型和等级也被详细解释,包括内容耦合、公共耦合等,以及如何通过工具如YUIDoc和JSDoc进行文档注释,以辅助测试和理解代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 复杂度



  1. 读书目的 :
    • 什么使复杂的代码 ?
    • 怎样避免代码的复杂性 ?
  2. 读书心得 :
    • 避免代码复杂性的方法:
      • 让函数保持最小代码量:将命令和查询保持分离;
        • 命令setter函数使用模mock测试;
        • 查询getter函数使用桩stub测试;
      • 不使用复杂或容易出错的构造 JSLint;
        • JSLint 是一个验证代码合理性的工具,用于对糟糕的代码风格,语法和语义进行分析,检测代码的不良部分;
        • 使代码更可读;
      • 圈复杂度
        • 表示代码中独立现行路径的数量;即需要编写的单元测试的最小数量;
      • 代码重用
      • 扇出/扇入
        • 扇出:测量函数直接或间接依赖的模块或对象的数量;
        • 扇入: 测量代码中常见功能的才重用;
        • 高扇出和扇入的代码:
          • 表示一个函数正在尝试做太多事情;
          • 可判断系统的压力点,函数关联太多,维护困难;
          • 不够精细,函数需要重构;
        • 高扇出/扇入象征紧耦合和高复杂度,会使函数和模块过于脆弱;
        • 降低扇出的方法: 将函数进行命令查询分离;
      • 耦合
        • 关注依赖模块是如何组合在一起的;
        • 耦合分类及等级:
          • 内容耦合 5;
          • 公共耦合 4;
          • 控制耦合 3 ;
          • 印记耦合 2;
          • 数据耦合 1;
          • 无耦合 0;
          • 实例化;
      • 注释 ,注释工具:
        • YUIDoc
        • JSDoc
        • Docco/Rocco
      • 人工测试
        • Fagan检验;

注 :

  • 代码重用是正确的,高扇入表示代码重用率高,但是高扇入又象征紧耦合,高复杂度,应该怎么重用代码才能达到更好的效果呢?
  • 什么是依赖注入?
  • Fagan检验是什么?怎么检验?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值