gpt4 book ai didi

java - SONAR 实现是否将伴随类视为公共(public)类的一部分 - 指标

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:14 24 4
gpt4 key购买 nike

介绍

我在考虑如何在不进行重大重构和破坏与以前修订的比较(差异等)的情况下解决特定的关键/主要问题。

我知道我可以将我的类拆分为同一个文件中的多个类,而不会破坏比较。我已经这样做了。 (今晚将提供示例)。

但是,问题是:SONAR 在运行其算法时是否会考虑同一个 .java 文件中的伴随类?它是否考虑嵌套类?

更重要的是,它是否将它们视为与文件名同名的关键“公共(public)类”的一部分。在生成警告时,各种指标的计算是否将它们视为公共(public)类

例子

关于如何重构代码以使 diff 不会被严重破坏

我在很长的 if, else if 链中有以下代码:

}else if ("cdbStreet".equals(paramKey)) {

并将其转换为:

}else{
setSearchDataByRequestParametersPart2(searchData, ...);
}
}
return queryString.toString();
}

private static void setSearchDataByRequestParametersPart2(SearchRequestData searchData, ...) {
if ("cdbStreet".equals(paramKey)) {

最佳答案

Sonar 正在对嵌套(内部)类进行代码分析。它适用于我的商业项目(我无法分享示例)。报告内部静态和非静态类的违规行为。

内部类有一些特定的规则 https://sonarqube.com/coding_rules#q=inner|languages=java

有关可用示例,请参见 https://sonarqube.com/component_measures/metric/lines/list?id=com.icegreen%3Agreenmail-parent

从第 358 行开始,您可以分析内部类 FetchCommandParser。该类中的代码报告了一些警告。

在内部,sonar 插件使用源代码和字节码。默认情况下,您的所有代码都会提交供分析(如果需要,您可以配置排除项)。

关于java - SONAR 实现是否将伴随类视为公共(public)类的一部分 - 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42028545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com