我使用sonarqube 6.7和java作为语言
我测试了复杂性,并发现一些应该增加复杂性的关键字并不增加复杂性的价值。这里有一些关键词:
- 的 情况下
- 的 返回
- 抛出 (这个有点难以测试,我创建了两个函数,其中有抛出而另一个没有抛出,我发现它总是增加认知的价值是否抛出。所以我尝试创造尝试捕获和状态抛出e,但它不增加认知的价值)
醇>
一些不说明的关键词可以增加认知的价值,但无论如何都要增加价值:
- 其他,如果
- else (仅增加认知复杂度,但不会增加圈复杂度)
- 功能 (仅增加圈复杂度,但不会增加认知复杂度。我对此有点困惑,因为没有声明,只有例子)
- 切换 (仅增加认知复杂度,但不会增加圈复杂度)
醇>
有人可以帮我确认我是否遗漏了某些内容或者是否正确?