【问题标题】:NDepend - Query to Reduce MatrixNDepend - 查询以减少矩阵
【发布时间】:2015-02-10 11:48:50
【问题描述】:

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

我想进一步减小矩阵的大小以仅显示具有中小耦合的依赖程序集(那些相对容易解耦的程序集)因此我只想显示具有

如何更新此查询以显示此内容?

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

【问题讨论】:

    标签: ndepend


    【解决方案1】:

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

    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 
    }
    

    从代码查询结果中,您可以看到 methodsUsedFromAgentAssembliesagentAssembliesMethodsUsingMe...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多