NDepend 基本上被描述为.NET 托管代码的静态分析工具。这个特定的工具能够支持大量代码度量,允许使用直接图和依赖矩阵来可视化依赖关系。
NDepend 工具还能够通过架构验证过程以及规则及其质量为用户和开发人员执行基于代码的快照比较。有些规则基本上是用户定义的,可以使用 LINQ 的查询返回。此功能被命名为 CQLinq,该工具能够为用户和开发人员提供大量预定义的 CQLinq 代码规则。这种特定的代码规则能够在 visual studio 中甚至在持续集成过程中自动检查。
NDepend 还被描述为唯一的 Visual Studio 扩展,它能够告诉程序员和用户代码正在编写中,并且已作为债务引入。认识到这一点,用户和开发人员能够在必须将代码纳入管理源之前更正代码。在 NDepend 成本原则的帮助下,可以在几分钟内定制和创建问题。查询包括C#的公式,以便为用户和开发者计算准确的技术深度估计。默认设置的规则能够为一百多位负责人提供大量的代码选择,包括复杂的代码以及低 OOP 的使用。考虑到它是一个静态分析器,它有能力发现许多影响现实世界代码库的问题。出于这个原因,NDepend 被认为是一种能够在视觉工作室中为用户和开发人员提供分数的工具。
该工具能够仅仅因为它拥有的基线就可以估计技术债务的增长。在提交任何代码以提供控制之前需要调整的最新代码香气正在个别工作室中得到强调。在必须到达原始服务器之前,它们也能够随后被修复。
它具有以下特性和属性,如下所述:
- 使用依赖图和依赖矩阵的可视化依赖关系。
- 软件指标和NDepend能够支持82个代码指标。
- 它对 LINQ 的采石场有一个声明性的冷规则。
- 它能够轻松灵活地与巡航控制系统以及 team City 集成。
- 使用 CLI 的属性,可选代码约束存在于源代码中。
- 版本的比较以及同一程序集的两个版本。
改进(添加到 v2022.2.1)
- 新属性IType.IsReadOnly用于检测何时将结构声明为只读。
- 新规则Immutable struct should be declared as readonly (ND1914) 以检测未声明为readonly的不可变结构。
- 在图形、矩阵和度量视图中,用户现在可以在新的选项 > 杂项面板中选择鼠标滚轮是引起缩放(默认和实际行为)还是垂直滚动。请注意,Ctrl+鼠标滚轮让我们执行其他操作。
- 新选项 > 杂项面板中的一个新选项现在让我们放弃在显示需要用户注意的 NDepend 对话框时播放的叮当声(许可事项、新版本可用、即将关闭且未保存数据......)。
- Options > Miscellaneous面板中的一个新选项让我们可以防止在将 NDepend 圆圈悬停在状态栏中时显示工具提示(在 Visual Studio 和 VisualNDepend 中)。
- 当使用 Rider 编辑和比较源文件时,rider64.exe也在 ToolBox 目录中解析,如%AppData%\Local\JetBrains\Toolbox\apps\Rider\ch-0\2022.4167.23\bin\rider64.exe。
- 当债务设置存储在共享的.ndsettings文件中时,当更改某些债务设置然后保存它们时,只有持久存在于.ndsettings文件中,项目文件(.ndproj)保持不变。
NDepend 可以在 .NET 7.0 和 .NET 6.0 上运行
.\net7.0\NDepend.Console.MultiiOS.dll
和 .\net7.0\NDepend.PowerTools.MultiiOS.dll现在可以在 Windows、Linux 和 MacOS 上的 .NET 7.0 上运行(自 v2022.2.1 起)。
.\net6.0\NDepend.Console.MultiiOS.dll
和 .\net6.0\NDepend.PowerTools.MultiiOS.dll现在可以在 Windows、Linux 和 MacOS 上的 .NET 6.0 上运行。