gpt4 book ai didi

c# - 你使用 NDepend 吗?

转载 作者:IT王子 更新时间:2023-10-29 04:26:23 27 4
gpt4 key购买 nike

我一直在尝试 NDepend ,一直在阅读一些关于它的博客文章,甚至还听过播客。我认为 NDepend 可能是一个非常有用的工具,但我仍然不知道我会在哪里使用它。

如何使用它?你会用吗,为什么?为什么不呢?

我想听听一些脚踏实地的现实世界的例子。

最佳答案

在过去的几年里,我广泛使用了 NDepend。基本上它是一个依赖分析工具,所以这可以帮助你解决很多依赖相关的问题。

我使用它的主要目的之一是检查我的程序集、类型和方法之间的依赖关系。这有助于我了解类型之间的耦合是否失控,也有助于我发现重构机会。

当开始大规模重构时,例如提取。将类型移动到其他程序集,这使您可以看到什么取决于什么,因此您不必执行旧的“将我的类型移动到另一个程序集,然后尝试编译并查看有什么问题”

NDepend 也有一个很棒的视觉矩阵来查看这类信息。

此外,它还有一种出色的查询语言 CQL,可让您编写自定义查询。这些可以是简单的事情,例如“显示调用此方法的所有方法”、查询以突出显示死代码、查询 cylcomatic 复杂性、耦合等,等等。

反过来,它可以集成到构建过程中,因此您可以基于 CQL 查询生成警告/失败,例如“如果方法的代码超过 100 行但没有注释,则构建失败”(这是一个例子 - 我并不是说这个特定的指标是一件好事)。

它还可以导入代码覆盖率数据并为您提供代码覆盖率低的区域的可视化表示,以及允许您针对代码覆盖率信息运行 CQL 查询(例如,显示代码覆盖率低于 70% 的方法)

您还可以加载项目的当前版本和以前的版本,并在它们之间运行查询,例如“显示代码覆盖率 <70% 的所有类型”——这有助于您在现有代码库上引入更严格的规则。

这是一个很棒的工具,学习起来也不太难。一开始它很可怕,只是因为它提供给您的信息量巨大,但强烈推荐。

关于c# - 你使用 NDepend 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2049874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com