我想知道什么Cyclomatic Complexity应该有一个有 Angular 的应用程序(每个 Controller 、服务等),以便于测试和维护。我在 Microsoft Documentation 中找到了Visual Studio 已将其警告级别设置为 25,但我认为它更依赖于语言/技术。
最佳答案
循环复杂度不依赖于语言/技术。它是根据函数中的逻辑可能路径计算的。
不存在“最大”圈复杂度。 它越高,代码就越难快速理解。 它越高,您错误理解它的可能性就越大,并且如果您必须对该函数进行修改,则在该函数中引入错误的可能性就越大。
如果要维护您的代码,或者要改进您的代码,则必须考虑到这一点。 (维护成本被远远低估了。)
这个问题Do you find cyclomatic complexity a useful measure?有一些有值(value)的答案。
我个人使用 7 规则。(科学研究表明,人脑一次只能掌握 7 个事物/概念)。当 CC >= 7 时、当函数的行数 >= 7 时、当我的类具有 >= 7 个数据成员时、当我的函数具有 >= 7 个参数时...等等时,我开始质疑我的设计。
关于angularjs - Angular 应用程序的最大圈复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26062043/