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 깊이 내가 당신에게 방법을 보여 드리죠 어떻게 작동합니까?
정말해야합니까?
이것은 ILNestingDepth 측정 항목에 의해보고 된 위양성과 유사합니다. 우리는 이것을 조사 할 것이지만, 분명히이 문제들을 무시할 수 있습니다. –
그것은 유감스러운 일입니다. 답변 해 주셔서 감사합니다. –