You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NDepend技术问询:如何限定JustMyCode为指定方法集?是否影响其他查询?

关于NDepend中JustMyCode范围定义的问题

官方文档介绍了如何使用notmycode通过排除法限制JustMyCode,示例代码如下:

notmycode from m in Methods where
  m.SourceFileDeclAvailable && 
  m.SourceDecls.First().SourceFile.FileName.ToLower().EndsWith(".designer.cs")
select m

我希望将JustMyCode仅限定为以下查询返回的方法:

from m in Methods 
let depth0 = m.DepthOfIsUsedBy("InsertMuk(Int32,Int32,BetCoupon,Boolean,Boolean,Boolean,DateTime&,Boolean)")
where depth0  >= 0 orderby depth0
select new { m, depth0 }

请问这样操作会重新定义所有其他查询的代码库吗?


是的,这种操作会重新定义所有其他查询的代码库范围。

在NDepend中,JustMyCode是全局生效的过滤规则,当你通过自定义查询限定其范围后,所有后续的CQLinq查询都会自动使用这个过滤后的代码集合。

要实现“仅保留指定方法为JustMyCode”的需求,你需要先将所有代码标记为notmycode,再把目标方法纳入mycode(即移除notmycode标记),示例代码如下:

// 第一步:将所有方法标记为非我的代码
notmycode from m in Methods select m

// 第二步:将目标方法纳入我的代码范围
mycode from m in Methods 
let depth0 = m.DepthOfIsUsedBy("InsertMuk(Int32,Int32,BetCoupon,Boolean,Boolean,Boolean,DateTime&,Boolean)")
where depth0 >= 0
select m

完成上述设置后,所有其他查询都会仅包含你指定的这些方法,等同于全局重新定义了代码库的有效范围。

内容的提问来源于stack exchange,提问作者Revious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:54:16