查询以减少矩阵

我正在使用NDepend来编写查询以将我的程序集及其相关程序集的子集提取到依赖性矩阵中。

我想进一步缩小矩阵的大小,只显示具有小或中等耦合的相关程序集(那些相对容易解耦的程序集)。因此,我只想显示具有<20方法用法的程序集。

我如何更新这个查询来显示这个?

let agentAssemblies =Assemblies.WithNameLike("Agent")
let assembliesUsedByAgents = Assemblies.ExceptThirdParty().UsedByAny(agentAssemblies)
from a in agentAssemblies.Union(assembliesUsedByAgents )
select a

您可以通过这种方式来细化查询:

let agentAssemblies = Assemblies.WithNameLike("Agent")
let assembliesUsedByAgents = Assemblies.ExceptThirdParty().UsedByAny(agentAssemblies)

from a in assembliesUsedByAgents 
let methodsUsedFromAgentAssemblies = a.ChildMethods.UsedByAny(agentAssemblies)
where methodsUsedFromAgentAssemblies.Count() < 20
let agentAssembliesMethodsUsingMe = agentAssemblies.ChildMethods().UsingAny(methodsUsedFromAgentAssemblies)
select new { 
   a, 
   methodsUsedFromAgentAssemblies , 
   agentAssembliesMethodsUsingMe 
}

从代码查询结果中,您可以可视化两种方法UseUsedFromAgentAssembliesAgentAssembliesMethodsUsingMe ...

NDepend依赖关系查询

..通过右键单击方法集,您可以将这两个集导出到依赖关系矩阵,以便清楚地了解哪个方法正在调用哪个方法。

N依赖依赖矩阵

链接地址: http://www.djcxy.com/p/37731.html

上一篇: Query to Reduce Matrix

下一篇: exclude assembly in some ways but not others