当前位置: 首页 > 知识库问答 >
问题:

技术债务公式未考虑复杂性

姬弘文
2023-03-14

在Sonarqube5.5之前的版本中,为了考虑复杂性,有可能改变计算技术债务的方式,但在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中如何看到它,这可能吗?

共有1个答案

廖弘量
2023-03-14

Sonarqube5.6引入了SonarQube质量模型,它由bug、漏洞和代码气味组成。对于代码气味,技术债务被认为是重要的度量标准。对于bug和漏洞,它是最严重的。

在采用这种新的质量模型时,基于复杂性计算技术债务的能力确实已经下降,而且没有恢复这种能力的计划。同时,“技术债”不再包括修复bug和漏洞的时间;只是代码的味道。

 类似资料:
  • 我正在为CI使用Jenkins,并为Jenkins添加了声纳插件。声纳扫描后,技术债务显示为零。 但事实上,它不是零之前使用的是最新版本的声纳,它显示了技术债务,但降级后,它没有显示。(显示重复代码、代码行和复杂性) 以下是使用的声纳版本 降级前,使用以下版本(工作正常) 降级后(未显示技术债务) 如何解决这个问题? 谢啦 甘内什

  • 然而,整体质量门应该以某种方式(数学上?)遵循一定的比例。 问:鉴于上述放宽,如何计算最合适的技术债务门槛? 从一篇旧文章(2009年,因此很可能不再适用)中扣除了以下公式:

  • 本文向大家介绍spring boot使用sonarqube来检查技术债务,包括了spring boot使用sonarqube来检查技术债务的使用技巧和注意事项,需要的朋友参考一下 作为代码质量检查的流行工具,比如Sonarqube能够检查代码的“七宗罪”,跟代码结合起来能够更好地提高代码的质量,让我们来看一下,刚刚写的Springboot2的HelloWorld的代码有什么“罪”。 Sonarqu

  • 岑安 2017 D2主题分享:前端作为技术人的思考 这个主题一定是一个资深的大前端,才有底气去探讨的。作为一个初入门的小前端,围过来一起思考下,至少让未来的路,少一些迷雾。 所谓前端发展历程 前端的发展历程,得益于HTML+CSS+JS能力的发展。从web1.0时代的信息展示/数据提交/样式美化到应用时代的MVC/SPA/MVVM及伴随而出的各种工程化工具/模块化概念/异步编程,再到所谓云+端时代

  • 18.7. 在选择这些技术时的一些考虑 这里提到的每种技术都有它的缺点。你在选择一种技术时,应该仔细考虑你的需要,你所暴露的服务和你在远程访问时传送的对象。 当使用RMI时,通过HTTP协议访问对象是不可能的,除非你用HTTP包裹RMI流。RMI是一种重量级的协议,因为它支持整个对象的序列化,当要求网络上传输复杂数据结构时这样的序列化是非常重要的。然而,RMI-JRMP只能绑定到Java客户端:它

  • 我想得到一个通用公式来排列具有不同数量列的数据帧。 例如,在这种情况下,数据帧包含“类别1,类别2,点1,点2”: 以及要安排的公式: 但df可以有更多的列:“categ_1,categ_2,categ_3,points_1,points_2,points_3”。因此,在这种情况下,公式应为: 我尝试编写一个通用公式(跨 的第一个 我还尝试在中编写条件,但找不到正确的语法: 在< code>arr