包裹纠结索引数据在Sonar中表示什么?

Inq*_*ive 20 code-metrics sonarqube

在我的项目上运行声纳分析后,我在7个轴之一(见第二张图片)上有以下数据.可以从这些数据中解码哪些信息?此图中的哪些轴与此数据有关?

在此输入图像描述

在此输入图像描述

Nev*_*uyt 34

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

理想情况下,您希望依赖关系在一个方向上流动 - 这允许您进行更改并预测其影响.例如,如果您的"用户界面"包依赖于"业务逻辑"包,但没有任何内容取决于"用户界面"包,您应该能够更改用户界面而不破坏该包之外的任何内容.循环依赖意味着(例如)用户界面包依赖于业务逻辑包,但业务逻辑包也依赖于用户界面包.现在,如果您更改用户界面,您可能会破坏业务逻辑层 - 这反过来可能会影响用户界面中完全不相关的内容.

"分层"软件和在层之间以单一方向流动依赖关系的想法旨在消除这种纠结.

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

Tangling通常是一个架构/设计问题.