2016-08-12 152 views
2

我现在给NDepend试了两个星期。我仍然无法弄清楚如何降低ILNestingDepth。我有几个方法被标记为“方法太复杂 - 至关重要”。作为一种修复方法,他们建议将方法分解为更小的方法。但我无法修复它。让我告诉你一个方法:如何降低IL嵌套深度?

第一版:适当= 7

public bool Appropriate (CompanyQuota available, CompanyQuota used) 
{ 
    /// - larger than available or 
    /// - less than already used area 
    return !(DiskQuota > available.DiskQuota || DiskQuota < used.DiskUsage || 
     UploadQuota > available.UploadQuota || UploadQuota < used.UploadUsage || 
     DownloadQuota > available.DownloadQuota || DownloadQuota < used.DownloadUsage || 
     PersonnelQuota > available.PersonnelQuota || PersonnelQuota < used.PersonnelUsage); 
} 

版本二的ILNesting深度:的适当= 7

public bool Appropriate (CompanyQuota available, CompanyQuota used) 
{ 
    /// - larger than available or 
    /// - less than already used area 
    return AvailableFromTop(available) || AvailableFromBottom(used); 
} 

bool AvailableFromTop (CompanyQuota available) 
{ 
    return !(DiskQuota > available.DiskQuota || 
     UploadQuota > available.UploadQuota || 
     DownloadQuota > available.DownloadQuota || 
     PersonnelQuota > available.PersonnelQuota); 
} 

bool AvailableFromBottom (CompanyQuota used) 
{ 
    return !(DiskQuota < used.DiskUsage || 
      UploadQuota < used.UploadUsage || 
      DownloadQuota < used.DownloadUsage || 
     PersonnelQuota < used.PersonnelUsage); 
} 
ILNesting深度

它是如何工作的?

我该怎么做?

+0

这看起来像ILNestingDepth指标报告的假阳性。我们将对此进行调查,但显然您可以忽略这些问题。 –

+0

这太可惜了。尽管谢谢你的回应。 –

回答

0

正如NDepend团队的@Patrick在评论中说这是一个误报。因此这个问题不需要一个答案。

为了社区的缘故,我在这里回答了这个问题,答案只包含了帕特里克的评论,对于“太懒惰的读者评论”的人。