问题标签 [ndepend]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
185 浏览

.net - 尝试查找不直接依赖于 Microsoft.SharePoint.* 或 System.Web.UI.* 的所有方法

我正在尝试在 Visual NDepend 中编写 CQL 查询,以查找不直接依赖于命名空间列表中任何类型的所有类型和方法。

到目前为止,我构建的查询是这样的:

但这仍然返回接受 SPWeb 作为参数的方法,所以我一定遗漏了一些东西。

所以我想:

  • 排除依赖于 Microsoft.* 命名空间内的任何引用程序集内的任何类型的任何方法。

  • 排除依赖于 System.Web.Ui.* 命名空间内的任何引用程序集内的任何类型的任何方法。

  • 排除任何生成的方法/类型

  • 排除属于在命名空间中具有 Test 的项目的任何方法。

失败的示例方法是:

0 投票
1 回答
217 浏览

ndepend - 我可以通过 CQL 找到没有 getter 数量的方法数量吗?

我正在使用 ndepend 来查找我的代码问题。现在我发现误报错误太多了。

例如,我有一个根本不复杂的类,但它确实有很多属性。所以,我会从 NDepend 收到警告,说这个类有太多的方法。

这是开箱即用的 NDepend 规则,希望类具有大量方法:

我可以更改 NDepend 计算方法数量的方式,以便可以排除我想要的属性吗?

0 投票
1 回答
682 浏览

matrix - 在 Ndepend 依赖矩阵中,如何隐藏一些行程序集?

我想在我的依赖矩阵中隐藏一些行程序集,以便我可以快速发现我的项目程序集与第 3 方程序集子集之间的依赖关系。

0 投票
1 回答
190 浏览

ndepend - “在失去范围之前处理对象”的 NDepend 规则

我正在评估 NDepend 作为加强代码质量和正确使用框架的努力的一部分,并且我正在寻找一种方法来编写相当于CA2000: Dispose objects before lost scope的方法。其他任何人都尝试过这样做,或者知道如何做到这一点?

0 投票
1 回答
555 浏览

c# - NDepend 中的解决方案范围的命名空间依赖图

NDepend 似乎是一个很棒的代码分析工具,尤其是依赖图可视化,所以我们买了一份。

然而,我真正最需要的一件事似乎是不可能的:我需要一个命名空间依赖图来覆盖整个解决方案。我唯一能得到的是装配图。

这就是我需要它的原因:

我们有这样的架构规则,即跨层边界的依赖项必须始终指向接口组件。接口组件在程序集名称和命名空间中都带有后缀“接口”。

我们有以下形式的命名空间

由于从程序集名称中看不到层信息,而是从名称空间中可见,因此名称空间依赖关系图将是此类分析的唯一有用图。

所以我的问题是:如何验证上述架构规则?您知道如何实际获取依赖图吗?您知道验证规则的另一种可能性吗?

0 投票
1 回答
71 浏览

visual-studio-2010 - Visual Studio 中分离/附加的 NDepend 窗口不记得它们应该在哪里

NDepend 是一个很棒的工具,但我在 Visual Studio 2010 中打开 NDepend 的各种窗口时遇到问题。似乎不记得我在哪里粘贴/附加它们。我希望错误列表和查询资源管理器卡在底部,CQL 查询编辑窗口卡在右侧,依此类推。但是当我重新打开 Visual Studio 和解决方案时,这些窗口会在似乎是默认位置的地方重新打开。

重新打开解决方案时,我希望这些窗口能够记住我将它们放在哪里:)其他人有这些问题还是只有我一个人?我有大量的 VS 插件,所以我的环境可能很混乱,但我知道可以在 vsix 项目中保存窗口位置......

谢谢你的帮助!爱NDepend!

0 投票
1 回答
400 浏览

c# - 使用 NDepend 查看代码指标的趋势

我有一个用于构建服务器的 NDepend 版本,并自动生成了 NDepend 报告。因此,每天晚上构建都会完成它的工作并生成 NDepend 报告/XML。我现在想做的是跟踪一些指标作为时间的函数。

因此,例如,在 y 轴上有一个特定类型或命名空间的图,比如传入耦合,在 x 轴上是时间。我知道我可以比较两个 NDepend 构建并具有代码和指标差异,但我想要做的是比较相同的单个指标或 N 个构建的指标以查看持续趋势。

我有点假设目前没有一种工具可以做到这一点,我必须自己推出,但如果有一个工具,我肯定很想在投入时间之前听到它。那么,NDepend 本身是否支持这样的东西,或者是否有某种我可以使用的已经存在的实用程序?

除了 NDepend 之外,我也愿意接受其他可以实现这一目标的技术的建议,尽管我对 NDepend 有强烈的偏好,因为我已经对它进行了投资并且熟悉它的工作原理。

提前致谢。

0 投票
2 回答
222 浏览

asp.net - 检测引用其他页面的 Asp.Net 页面(使用 NDepend?FXCop?)

我需要找到从“System.Web.UI.Page”派生的所有类,这些类引用从 Page 派生的另一个类......我在 NDepend 中尝试的所有内容都没有给我任何东西,或者每个页面。

我们最近将一个 Asp.Net“站点”转换为“Web 应用程序”,在此过程中发现许多页面与我们数据库层中的类具有相同的类名。它们在不同的命名空间中,但由于所有页面都在同一个命名空间中(现在,在同一个程序集中),我们遇到了一些问题。

大多数情况下,当页面使用数据层类并访问它的成员时,这会导致编译错误,但现在所有页面都在 Web 应用程序中(因此可以互相看到),编译器决定它们引用 Web页面类而不是数据层类。我们担心某些类可能会通过实现具有相同名称的成员而滑过编译时崩溃,因此我们希望找到 .Net 认为网页(继承的类(无论多么远))的任何地方来自 System.Web.UI.Page) 具有对另一个网页的引用。

显然,这个 NDepend CQL 只返回所有页面:

有谁知道这是否可能,或者我是否可以使用 FXCop 或其他东西编写规则?

0 投票
1 回答
1784 浏览

ndepend - CppDepend 与 NDepend

CppDepend和NDepend都是由同一家公司开发的,并且似乎基于相同的代码库并共享一些功能。我还没有找到并排比较网站。

我在几个没有任何 c++ 代码的普通 c# 解决方案上工作,但也有除 c# 之外还包含 c++ 托管代码和 c++ 本机代码的解决方案。

如果我想要所有项目类型的完整功能集,我真的需要购买这两种工具吗?是否需要使用 CppDepend 打开我的混合解决方案和使用 NDepend 的仅 c# 解决方案?似乎 NDepend 无法分析 c++ 项目,但是当我使用 CppDepends 打开解决方案时,我在同一个解决方案中失去了我的 c# 项目的一些 NPDepend 功能。如果 NDepend 可以将 CppDepend 作为插件/扩展加载,那就太好了,但这是不可能的,对吧?

0 投票
2 回答
645 浏览

c# - 将单元测试类设为静态是否有意义?

我一直在我的代码库上使用 NDepend,虽然我的实际代码似乎很顺利,但我的单元测试代码可能需要做很多工作。由于测试之间的高度分离,NDepend 提出的建议之一是将我的许多单元测试类转换为静态类。看起来这可能有助于不在测试之间共享状态,并允许它们进一步以任何顺序运行。我应该将我的单元测试类转换为静态类吗?

在同一个 TestFixture 中的测试方法之间共享状态,当然还有在 TestFixture 之间