된 Cyclomatic 복잡성은 프로그램의 복잡성을 나타 내기 위해 사용되는 소프트웨어 메트릭입니다. 프로그램의 소스 코드를 통해 선형으로 독립적 인 경로의 수를 나타내는 양적 측정입니다.
cyclomatic complexity
무엇인가,_fred = fred.Where(c => c.IsActive && c.PriorityOrder.HasValue && (c.PriorityOrder == 0 || !(c.MinUnits == 0 && (!c.MaxUnits.HasValue || c.MaxUnits == 0)))) .GroupBy(x => x.Scope) .ToDictionary(x => x.Key, x => x.ToList());
그렇다면 : 그것은이 용어는 이와 같은 람다 표현식으로 Linq는 C#에 적용 할 수있는 1976
에 미스터 토마스 J. 맥케 이브에 의해 개발 했다 이 코드와 왜 Resharper가 나에게 ... ? Where
절에서 논리의
같은 작품은 위의 if
문은 9의 복잡성을 보여줍니다 다수로 분류. 왜?
private IEnumerable<Priority> FilterPriorities(IEnumerable<Priority> priorities)
{
var result = new List<Priority>();
foreach (var p in priorities)
{
if (p.IsActive == false) continue;
if (p.PriorityOrder.HasValue == false) continue;
if (p.PriorityOrder == 0)
{
result.Add(p);
continue;
}
if ((p.MinUnits == 0 && (!p.MaxUnits.HasValue || p.MaxUnits == 0)) == false)
{
result.Add(p);
}
}
return result;
}
이 코드를 통해 하나의 선형 경로가 나타납니다. 왜 그것이 '1'이 아니어야한다고 생각하니? – Amy
여기에는 분기가 없으므로 왜 더 복잡 할 것으로 예상하는지 모르겠습니다. –
네, 조건이 있지만 'else'가 없으므로 하나의 경로 만 있습니다. –