2016-08-12 3 views
2

나는 NDepend에게 2 주 동안 시도를하고 있습니다. 나는 아직도 그것을 낮추는 방법에 관해 그것을 정말로 이해할 수 없었다 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이이 의견에 대해 거짓 평가 결과라고 말했습니다. 그러므로이 질문에는 대답이 필요하지 않습니다.

나는이 질문을 패트릭의 "너무 게으른 사람에게 읽어주는 사람들"의 의견만을 담은 답변으로 유지하고있다.

관련 문제