有是具有开关外壳的功能,我们需要减少其CC如何减少圈开关case语句的复杂性
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;
恕我直言,CC是指标而不是作为一项规则。 switch语句给出更高的CC,但是这里真的存在可维护性问题吗? – FuleSnabel
但通过用字典替换它来减少CC真正增加可维护性还是仅仅减少CC?在我的经验中;每当我用字典查找替换这些switch语句时,响应就是:“我更喜欢switch语句”。谁对可维护性是正确的? CC度量或维护它的开发人员? – FuleSnabel
我不认为用字典取代这一点使得它不那么复杂,我认为你最好在别处花费你的努力。然而,有一件事让我很担心,硬编码字符串(例如“少于20亿”和“0-2B”),这些应该是可维护性的常数。如果你只是返回数据,只要做'返回'0-2B“;' – Joey