는 스위치 케이스를 가지고있는 기능이있다 그리고 우리는 조금 덜 될 것는 스위치 케이스 문 된 Cyclomatic 복잡성을 줄이는 방법을
string data = string.empty;
switch (value)
{
case "Less than 2 billion":
data = "0 - 2B";
break;
case "2 billion to 10 billion":
data = "2B - 10B";
break;
case "10 billion to 20 billion":
data = "10B - 20B";
break;
case "20 billion to 50 billion":
data = "20B - 50B";
break;
case "Greater than 50 billion":
data = "> 50B";
break;
case "N/A":
data = "N/A";
break;
case "[items] > 0":
data = string.Empty;
break;
}
return data;
IMHO CC는 원칙적으로 가이드 라인이 될 수없는 척도입니다. switch 문은 더 높은 CC를 제공하지만 실제로 여기에 유지 관리 문제가 있습니까? – FuleSnabel
그러나 CC를 사전으로 대체하여 CC를 줄이면 유지 보수성이 크게 향상됩니까 아니면 단순히 CC를 줄이는 것입니까? 내 경험으로. 이러한 종류의 switch 문을 사전 조회로 대체 할 때마다 응답은 다음과 같았습니다. "switch 문이 더 마음에 들었습니다." 누가 유지 보수 가능성에 대해 옳은가? CC 측정 항목 또는이를 유지 관리하는 개발자? – FuleSnabel
사전으로 바꾸면 덜 복잡해지며 다른 곳에서 노력하는 것이 나을 것입니다. 그러나 하드 코딩 된 문자열 (예 : "Less than 20 billion"및 "0 - 2B")은 걱정 스럽지만 유지 관리를 위해서는 실제로 상수 여야합니다. 참고 그냥 데이터를 반환하는 경우 각 경우에 휴식이 필요하지 않습니다 그냥'return "0-2B";을 수행합니다. – Joey