依赖结构矩阵
最后修改时间:2023 年 9 月 7 日警告
必须启用捆绑的依赖结构矩阵插件。
处理具有大量依赖项的复杂项目使得很难理解在哪里寻找问题。您可能会遇到复杂的关系或循环依赖关系,这可能会严重影响应用程序的性能和行为。这就是帝斯曼的帮助所在。
DSM 代表依赖结构矩阵– 一种帮助您可视化项目各部分(模块、类等)之间的依赖关系并突出显示信息流的方法。
DSM 分析可用于了解变更将如何影响项目。例如,如果需要更改其中一个类,您可以识别所有依赖项并查看此更改将如何在项目中传播。
分析依赖矩阵
转到代码| 分析代码 | 依赖矩阵。
或者,右键单击项目工具窗口中的项目并选择分析依赖关系矩阵。
在打开的对话框中,选择要分析的范围,然后单击分析。
如果您的项目类文件已过时,分析可能会导致数据不完整或不正确。为了避免这种情况,IntelliJ IDEA 会提示您在继续 DSM 分析之前编译项目。
DSM 工具窗口将打开,使您能够检查依赖性。通过单击工具窗口中的单元格,您可以查看更多详细信息。
DSM 工具窗口以特殊方式对依赖关系进行排序:最常用的类移至底部。
在矩阵上,所有依赖关系始终从绿色流向黄色:当您选择一行时,绿色注释显示依赖组件,而黄色注释显示所选组件所依赖的组件。相互依赖关系以红色显示。不同的阴影对应于依赖关系的数量。依赖关系越多,对应的单元格颜色越深。
探索依赖关系
您可以将视图限制为仅查看选定的依赖项。与限制范围选项相反,只留下产生选定依赖关系的类。
在 DSM 工具窗口中,右键单击必要的依赖关系,然后选择探索之间的依赖关系。
产生这些依赖关系的类将在 DSM 工具窗口的新选项卡中打开。
查找依赖项的用法
您可以打开选定的依赖项以进行进一步的源代码分析。
在 DSM 工具窗口中,右键单击必要的依赖项,然后选择“查找依赖项的用法”。
限制 DSM 范围
您可以将 DSM 的范围限制为选定的行。只有这些将保留在新矩阵中。
选择要保留的行,然后从上下文菜单中选择“将范围限制为选择”。
有限范围将在 DSM 工具窗口的新选项卡上打开。
查看 | 工具窗口 | 帝斯曼
执行 DSM 分析后,该工具窗口变得可用。
在这里您可以看到典型的矩阵视图。
行标题代表程序结构。现在一切都已折叠,仅显示模块。展开时,标题是树状的,允许您展开模块并挖掘程序包。* — 节点对包内的类进行分组。列标题与相应的行标题相同。因此,为了节省空间,它们没有被示出。相反,行标题上使用了不同的视觉辅助工具。
如果选择一行,矩阵将如下所示。
在这里您可以了解以下内容:
选定的行和相应的列突出显示以可视化行依赖性。
单元格中的省略号表示该
maven-core
模块对模块有许多(超过 99 个)依赖项maven-project
。该列显示所选行的依赖关系。
该行显示对所选行的依赖关系。
这意味着该
maven-project
模块有 16 个maven-settings
模块依赖项。不同的阴影对应于依赖关系的数量。
颜色注释有助于一目了然地可视化行依赖关系。
maven-core
依赖于取决于maven-project
。maven-project
依赖于取决于maven-profile
。对角线上的破折号对应于未显示的自相关性。
您可以选择任何单元格来探索其中指示的依赖关系。
选择单元#1。这些颜色注释意味着maven-project
对. 对称单元(单元#2)显示另一个方向的依赖性 - 在本例中为零。maven-settings
有一个简单的助记规则 - 所有依赖项始终从绿色流向黄色。
DSM 视图不是按字母顺序对行进行排序,而是以一种特殊的方式对依赖项进行排序:最常用的类移至底部。在结构良好的项目中,这会在矩阵的左下半部分创建一个三角形。
周期
相互依赖关系以红色显示。这意味着插件和可用性包都是相互依赖的。
感谢您的反馈意见!