Sonarqube 对声纳QUBE的维修性结果有什么影响?

Sonarqube 对声纳QUBE的维修性结果有什么影响?,sonarqube,maintainability,software-quality,Sonarqube,Maintainability,Software Quality,我面临着一个巨大的“意大利面代码”,已知缺乏文档、缺乏测试覆盖、高复杂性、缺乏要遵循的设计规则等。我让代码通过默认的声纳扫描进行分析,令人惊讶的是,可维护性有一个非常好的分数,技术债务为1,1%!事实表明,几乎每一次更改都会引入新的bug 我很困惑,不知道实现中的一些特殊性是否可以解释这个分数。。。例如,我们有相当多的接口(1个实现有4-5个接口),使用反射和服务定位器模式 我是否可以使用其他指标来最终提高质量 可维护性评级是修复代码库中所有类型代码气味问题的估计时间与在当前状态下编写代码的估计

我面临着一个巨大的“意大利面代码”,已知缺乏文档、缺乏测试覆盖、高复杂性、缺乏要遵循的设计规则等。我让代码通过默认的声纳扫描进行分析,令人惊讶的是,可维护性有一个非常好的分数,技术债务为1,1%!事实表明,几乎每一次更改都会引入新的bug

我很困惑,不知道实现中的一些特殊性是否可以解释这个分数。。。例如,我们有相当多的接口(1个实现有4-5个接口),使用反射和服务定位器模式


我是否可以使用其他指标来最终提高质量

可维护性评级是修复代码库中所有类型代码气味问题的估计时间与在当前状态下编写代码的估计时间的乘积

您还应该查看代码库中的bug和漏洞

关于您的具体观点(假设我们讨论的是Java):

  • 已知缺乏文档-默认配置文件中有一条规则用于查找Javadocs。您可以阅读它的描述和参数值,看看它做了什么,但没有找到
  • 缺乏测试覆盖率-目前该检测存在“漏洞”;如果一个类没有覆盖范围,那么在计算可以/应该覆盖的行时,以及在计算覆盖率百分比时,该类将不被考虑。它应该“很快”修复。在6.2中,第一步将出现在平台端,但需要对语言插件进行相应的更改才能生效
  • 高度复杂性-这是有规则的。如果他们没有找到你认为他们应该找到的,那么看看他们的(可调整的)阈值
  • 缺乏设计规则-唯一可能解决此问题(架构约束)的规则是
  • 不赞成
  • 预定搬迁
  • 默认情况下,从插件的最新版本中删除not on
  • 使用反射-目前没有可用的规则来检测此情况

可维护性评级是修复代码库中所有类型代码气味问题的估计时间与在当前状态下编写代码的估计时间的乘积

您还应该查看代码库中的bug和漏洞

关于您的具体观点(假设我们讨论的是Java):

  • 已知缺乏文档-默认配置文件中有一条规则用于查找Javadocs。您可以阅读它的描述和参数值,看看它做了什么,但没有找到
  • 缺乏测试覆盖率-目前该检测存在“漏洞”;如果一个类没有覆盖范围,那么在计算可以/应该覆盖的行时,以及在计算覆盖率百分比时,该类将不被考虑。它应该“很快”修复。在6.2中,第一步将出现在平台端,但需要对语言插件进行相应的更改才能生效
  • 高度复杂性-这是有规则的。如果他们没有找到你认为他们应该找到的,那么看看他们的(可调整的)阈值
  • 缺乏设计规则-唯一可能解决此问题(架构约束)的规则是
  • 不赞成
  • 预定搬迁
  • 默认情况下,从插件的最新版本中删除not on
  • 使用反射-目前没有可用的规则来检测此情况

项目的可维护性等级(字母等级)是多少?尝试添加sqale金字塔小部件可能会有所帮助。也可能是Sonar默认规则没有在组织内部寻找违反编码惯例的行为。。。这将有助于您理解金字塔。@G.Ann-SonarSourceTeam:可维护性等级为A。@Shiva,我安装了SonarQube 6.1的当前版本。可能在5.5版中删除了sqale插件,请参阅:项目的可维护性等级(字母等级)是多少?尝试添加sqale金字塔小部件可能会有所帮助。也可能是Sonar默认规则没有在组织内部寻找违反编码惯例的行为。。。这将有助于您理解金字塔。@G.Ann-SonarSourceTeam:可维护性等级为A。@Shiva,我安装了SonarQube 6.1的当前版本。Squale插件在5.5版中被删除了,请参见:这是对实现的一个很好的了解谢谢G.Ann!这有助于更好地理解我们将从声纳获得的信息。这是对实现的一个很好的洞察谢谢G.安!这有助于更好地理解我们即将从声纳获得的信息。