我在C#.NET中编写了一段糟糕的代码,我希望对其进行优化。
目前我能想到的是将公共部分分成单独的方法。
代码:
if(condition1)
{
switch(condition)
case 'A' : //Some code
break;
case 'B' : //Some code
break;
case 'C' : //Some code
break;
}
else if(condition2)
{
switch(condition)
case 'a' : //Some code
break;
case 'B' : //Some code
break;
case 'C' : //Some code
break;
}
请注意,案例“B”和案例“C”的案例陈述条件很常见。
非常感谢任何有关改进代码的帮助。
答案 0 :(得分:2)
如果他们的代码块应该执行相同的代码,为什么不堆叠case语句
喜欢这个
case 'B' :
case 'C' :
{
//Do Some Code
}
break;
答案 1 :(得分:1)
您所能做的就是将公共代码放在一起并检查其中的附加条件。
switch(condition)
{
case 'A':
if(condition1) //do something
else //do something
break;
case 'a':
same as above
case 'B':
break;
case 'C':
break;
}
答案 2 :(得分:1)
case "a":
case "A":
if ( condition1) {
...
}
else if { condition2}
...
}
break;
答案 3 :(得分:1)
我认为即使您优化了这段代码,它仍然会非常脆弱且难以维护。我建议尝试使用策略模式来重构它(例如,如果它可能的话)。
您将受益匪浅,因为您将每个例行程序隔离开来并以OOP方式执行,以便将来更容易更改和维护。