从 SonarQube 接收有关设计和架构的反馈
Receive feedback from SonarQube in regards to design and architecture
我正在使用 SonarQube、Jenkins 和 Bitbucket 分析主要由 Java 组成的代码库,该代码库相当大(约 100 万行代码)。
更重要的是,此分析的主要任务之一是研究如何使用 SonarQube 分析和插件改进此代码库的体系结构和设计。我在研究过程中发现,曾经有一个矩阵在某种程度上做了我正在寻找的东西,即 SonarQube 依赖结构矩阵,但截至目前已贬值。
我还发现复杂度指标可用于调查每个 file/class/method 的复杂程度,但如果可能,我正在寻找更高级的设计和架构反馈。
这是我目前正在使用的 SonarQube 服务器 (运行 v5.3) 中的插件:
- Checkstyle v2.4
- Findbugs v3.3
- Git v1.1
- Java 3.11-build4121
- Java 属性 v1.5
- PMD v2.5
- SVN v1.2
也就是说,我正在寻找的是关于如何使用 SonarQube 来查找架构缺陷或使用软件度量或类似的改进区域的信息。在我的研究中,我没有发现 SonarQube 如何用于此目的有任何明确的关系。
因此,我的问题是如何使用 SonarQube 和某些插件在代码库中查找架构和设计改进(例如,通过查看随时间的不同变化)?
很高兴收到您的任何反馈或问题。
如您所见,依赖矩阵已被删除。它可能对您来说无论如何都无法使用 - 这也是它被删除的部分原因。
正如您还注意到的,有关于 class 和方法复杂性的规则。此外,您还会在项目、模块、目录和文件级别找到复杂性指标。 (点击 'Structure'。)这些应该可以帮助您查明一些热点。
Java 规则 Cycles between packages should be removed 也可能有帮助(编辑:该规则已删除 Java 插件 4.0),与复制相关的指标也可能如此。
除此之外,我不认为您所追求的高级设计和架构反馈真的可用。
我认为 CheckStyle、PMD 和 FindBugs 插件在这方面对您的帮助不大。前两个中最有价值的规则已被 Java 插件替换,大多数 FindBugs 规则也已被替换。
我正在使用 SonarQube、Jenkins 和 Bitbucket 分析主要由 Java 组成的代码库,该代码库相当大(约 100 万行代码)。
更重要的是,此分析的主要任务之一是研究如何使用 SonarQube 分析和插件改进此代码库的体系结构和设计。我在研究过程中发现,曾经有一个矩阵在某种程度上做了我正在寻找的东西,即 SonarQube 依赖结构矩阵,但截至目前已贬值。
我还发现复杂度指标可用于调查每个 file/class/method 的复杂程度,但如果可能,我正在寻找更高级的设计和架构反馈。
这是我目前正在使用的 SonarQube 服务器 (运行 v5.3) 中的插件:
- Checkstyle v2.4
- Findbugs v3.3
- Git v1.1
- Java 3.11-build4121
- Java 属性 v1.5
- PMD v2.5
- SVN v1.2
也就是说,我正在寻找的是关于如何使用 SonarQube 来查找架构缺陷或使用软件度量或类似的改进区域的信息。在我的研究中,我没有发现 SonarQube 如何用于此目的有任何明确的关系。
因此,我的问题是如何使用 SonarQube 和某些插件在代码库中查找架构和设计改进(例如,通过查看随时间的不同变化)?
很高兴收到您的任何反馈或问题。
如您所见,依赖矩阵已被删除。它可能对您来说无论如何都无法使用 - 这也是它被删除的部分原因。
正如您还注意到的,有关于 class 和方法复杂性的规则。此外,您还会在项目、模块、目录和文件级别找到复杂性指标。 (点击 'Structure'。)这些应该可以帮助您查明一些热点。
Java 规则 Cycles between packages should be removed 也可能有帮助(编辑:该规则已删除 Java 插件 4.0),与复制相关的指标也可能如此。
除此之外,我不认为您所追求的高级设计和架构反馈真的可用。
我认为 CheckStyle、PMD 和 FindBugs 插件在这方面对您的帮助不大。前两个中最有价值的规则已被 Java 插件替换,大多数 FindBugs 规则也已被替换。