在 5.5 之前的 Sonarqube 版本中,可能会更改计算技术债务的方式以考虑复杂性,但在 5.5 之后我看不到如何更改它。您是否删除了此配置?
恕我直言,复杂代码中的修复成本比简单代码中的要困难得多。这是一篇文章,您可以在其中查看和比较两个类似项目,它们基于规模具有相似的技术债务,但基于复杂性具有完全不同的技术债务。此外,覆盖率正在影响这项措施;而且我认为当您有足够的测试和覆盖范围以确保您不会破坏任何东西时,修改代码会更容易。
在 sonarqube 文档中,用于计算技术债务比率的公式是:
Remediation cost / (Cost to develop 1 line of code * Number of lines of code)
但是补救成本是在每个规则上配置的固定时间量,不是吗?因此,它与您在代码中可以找到的复杂性无关。
这是一张图片,您可以在其中看到如何在版本 5.1.2 中完成此操作: 具有复杂性的技术债务
有没有办法在 LTS 或 6.x 版本中配置技术债务,以便像以前版本一样考虑复杂性?
如果没有,那在你的路线图中吗?您是否有任何参考表明复杂性或覆盖范围不会影响修复成本?
提前致谢。
注意:认知复杂性的新概念似乎很有趣,我们再次谈论复杂性,它会是一个很好的候选者。但是我还没有看到如何在Sonarqube 6.3.1中看到它,这可能吗?