sonarqube - 包装缠结指数数据在Sonar中表示什么?

标签 sonarqube code-metrics

在我的项目上执行Sonar分析后,我在7个轴之一上具有以下数据(请参见第二张图片)。可以从该数据中解码出什么信息?下图中的哪个轴与该数据有关?

最佳答案

这意味着包和文件之间存在周期性的依赖关系。

理想情况下,您希望依赖关系沿一个方向流动-这使您可以进行更改并预测其影响。例如,如果您的“用户界面”程序包依赖于“业务逻辑”程序包,但没有任何内容依赖于“用户界面”程序包,则您应该能够对用户界面进行更改,而不会破坏该程序包之外的任何内容。循环依赖关系意味着(例如)用户界面程序包依赖于业务逻辑程序包,但是业务逻辑程序包也依赖于用户界面程序包。现在,如果您更改用户界面,则可能会破坏业务逻辑层-这又可能会影响与用户界面完全无关的内容。

设计“分层”软件的想法,并使其依赖关系在各层之间沿单个方向流动,旨在消除这种纠结。

您通常可以通过将类从一个包移动到另一个包来减少这种纠缠。

纠结通常是一个体系结构/设计问题。

关于sonarqube - 包装缠结指数数据在Sonar中表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321702/

相关文章:

java - Sonar 不使用项目 pom.xml 中的 exceptFilterFile

php - 如何在 Jenkins 中显示 PHPLOC 结果?

lisp - 寻找一个可以帮助我为 lisp 程序生成每个函数统计代码行的程序

language-agnostic - 无论使用何种语言,每行代码的错误数量都是恒定的

algorithm - LCOM4询问计算方式

java - Sonar 产生警告,Eclipse 无法使用格式化程序解决

sonarqube - 有没有办法跟踪 Sonar 时间机器中的单个规则违规行为?

java - 使用SAST工具时,为什么编译语言(例如C/C++)必须使用 "build wrapper"?

SonarQube:限定认知复杂性

xcode - 如何查看Xcode项目中有多少行代码?