问题标签 [cql]

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 回答
429 浏览

aggregate - NDepend CQL 计数查询

我想查询特定类的公共方法表以及 NDepend CQL 中每个方法的使用计数。当前查询如下所示:

是否可以在 CQL 中聚合查询?

0 投票
2 回答
237 浏览

code-analysis - 使用 NDepend 查找处理表单事件的所有方法

我想知道是否有人能够帮助我为 NDepend 编写一个 CQL 查询,它将向我显示我的表单类中处理表单事件的所有方法。所以我希望能够找到所有看起来像这样的方法:

我浏览了一些选项,但我真的找不到任何可以满足我需要的东西。

我才刚刚开始使用 NDepend,所以我还没有真正习惯它,但我确实知道一件事,如果没有它,我到底是如何生活的。

0 投票
1 回答
616 浏览

idisposable - NDepend CQL 查询缺少 IDisposable 实现

我意识到这个问题正在寻找的查询不足以找到 IDisposable 实现的每一个小问题,但每一个早期警告都很重要,所以我会尽我所能。

我想知道是否有人为 NDepend 提出了一个 CQL 查询,该查询将列出所有未实现 IDisposable 但具有一个或多个字段的类。一个类可能会通过错误(即有人忘记检查 IDisposable 实现的字段类型)或通过代码演变(即在某个字段中使用的类在某处获得 IDisposable 附加到以后的日期,所有用法都没有更新)。

查找所有未实现 IDisposable 的类的简单查询是:

但是,这当然不会检查该类是否应该为上述规则实现 IDisposable。

有没有人有这样的疑问?我仍然在掌握 CQL,所以这部分让我望而却步。

0 投票
1 回答
1145 浏览

ndepend - 最有用的 NDepend CQL 查询

我工作的一个客户已经开始使用 NDepend 作为 FXCop 的替代品,并且“架构师”已经编制了一个几乎不可用的 CQL 查询列表,我认为他是从 NDepend 网站的建议中获取的。

“我认为”是无用查询的示例

即:每10行代码必须至少有2行注释

所以我试图收集的是一组有用的查询,我们可以作为开发人员使用。

请只为每个回复提供一个查询(带描述),以便对其进行相应投票请只为每个回复提供一个查询(带描述),以便对其进行相应投票

0 投票
1 回答
974 浏览

code-metrics - 如何获得可维护性指标?

如何使用 cql 创建可维护性索引?NDepend 是否计算这个数字?

谢谢!

亚历杭德拉

0 投票
1 回答
518 浏览

c# - NDepend 代码质量指标 - 自定义 CQL - 棕地开发

我正在开发一个棕地项目,该项目最初是为 .NET 1.1 开发的,随后被改装为 .NET 2.0,还有少量 .NET 3.5

我很好奇使用什么样的指标来开始寻找优化和现代化的拐点。

是否有任何人发现在清理和重构“遗留”.NET 代码方面有用的好的 CQL 查询?

0 投票
2 回答
1591 浏览

c# - 如何限制对类型属性的 NDepend 方法查询

我试图让 NDepend 使用标准“方法太大”查询的修改版本来识别长方法。

我不想报告开发人员几乎无法控制的长方法,所以我使用DebuggerNonUserCode属性和InitializeComponent().

不幸的是,我仍然得到一些误报,因为生成类型中的方法也被报告了。问题是虽然类型本身具有DebuggerNonUserCode属性,但方法没有,因此尽管它们是生成的,但它们仍包含在输出中。

我正在寻找类型和方法之间的连接之类的东西:给我所有没有DebuggerNonUserCode属性的类型并在这些类型上运行查询,但我不知道如何在 CQL 中表达这一点。

对于某些程序集,我可以简单地过滤全名,但不幸的是,我们的一些程序集混合了开发人员制作和生成的类型。不幸的IsGeneratedByCompiler是,在这种情况下也不能使用。

我的查询

0 投票
1 回答
294 浏览

ndepend - Ndepend CQL 从程序集通配符中查询类型

为了确定 Web 应用程序直接使用的低级框架类型,必须定义所涉及的每个程序集。

我找不到任何语法来通配程序集列表。有没有办法缩短这个?我们有很多框架级程序集。

即 Company.System.Framework.*

0 投票
1 回答
342 浏览

ndepend - 其他程序集/类型正在使用的框架程序集中的 NDepend 查询方法/类型

我正在尝试确定基础框架程序集中的哪些类型或方法被应用程序系统中的其他程序集使用。我似乎找不到一个直截了当的查询来做到这一点。

我要做的是首先确定哪些程序集直接使用框架程序集,然后在第二个查询中手动列出它们

有没有更好/更快的方法来查询这个?

此外,查询结果仅关注匹配的类型。导出的依赖关系图或矩阵仅显示这些的详细信息。我不知道如何呈现一个显示这些类型或方法的图表以及显示来自其他使用它们的程序集的依赖类型/方法?

更新

我不能使用类似的查询

因为结果返回在 IBM.Data.DB2 程序集中使用混淆类型的非常奇怪的结果。

我们的代码不直接使用这些类型和枚举。

0 投票
1 回答
360 浏览

properties - 如何使用 NDepend 找到哪些属性获取器有副作用?

使用 VisualStudio 的一个常见问题是对属性 getter 的神秘调用。如果这些有副作用(最常见的形式是if (foo == null) foo = new foo(); return foo;),那么调试器 Locals 和 Watch 窗口调用属性的事实 - 甚至没有遇到任何断点 - 可能会在调试时导致意想不到的效果。

有一个简单的解决方案:只需用属性标记属性

那么如何在大型代码库中找到可能有副作用的 getter 呢?

NDepend是此类事情的首选工具:使用它的 CQL 语言,我可以找到所有属性,例如,直接更改其包含实例的状态:

这只会找到那些直接改变字段的getter:我怎样才能找到间接改变它的getter,例如通过调用一个Initialize()方法?