首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将圈复杂度保持在5-10之间会使单元测试更容易吗?

将圈复杂度保持在5-10之间会使单元测试更容易吗?
EN

Stack Overflow用户
提问于 2019-11-22 20:53:19
回答 1查看 193关注 0票数 3

我计划在5-10之间跟踪方法和类的圈复杂度。如果我们将单元测试保持在这个范围内,那么编写单元测试会更容易吗?它是否帮助我们编写有效的单元测试,这些测试在长期内是有价值的?

我知道单元测试可以在不跟踪圈复杂度的情况下正确地编写。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 21:37:32

,因为圈复杂度只会计算函数中的决策数。

您拥有的决策越多,在测试中需要考虑的分支就越多。此外,保持圈复杂度低将有助于您构建具有更高可维护性的软件,因为它或多或少地迫使您将您的功能开发得更加原子化。举个例子:

您可以编写一个单元测试,它包含以下函数及其所有三个可能的分支:

代码语言:javascript
运行
复制
foo(a, b, c) {
  if (a) {
    if (b && c) {
      return 1;
    }
    return 2;
  }
  return 3;
}

或者你可以像这样分开:

代码语言:javascript
运行
复制
foo(a, b, c) {
  if (a) {
    return foo2(b, c);
  }
  return 3;
}

foo2(b, c) {
  if (b && c) {
    return 1;
  }
  return 2;
}

编写两个单元测试,一个用于函数foo2(b,c),如果您为函数foo(a,b,c)编写单元测试,那么您不再关心foo2(b,c)的正确性了,因为您已经测试了它。

长话短说:圈复杂度不仅会增加可测试性,而且还会增加代码的可维护性和可读性,以及其他非功能需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59001603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档