1

我在 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;
}

请注意,case 'B' 和 case 'C' 的 case 语句条件是常见的。

非常感谢任何有关改进代码的帮助。

4

4 回答 4

2

如果他们的代码块应该执行相同的代码,为什么不堆叠 case 语句

像这样

case 'B' :
case 'C' :
{
//Do Some Code
}
break;
于 2012-08-01T08:52:23.413 回答
1

您所能做的就是将通用代码放在一起并检查那里的附加条件。

switch(condition)
{
   case 'A':
     if(condition1) //do something
     else //do something
     break;

  case 'a':
   same as above

  case 'B':
    break;

  case 'C':
    break;
}
于 2012-08-01T08:51:15.917 回答
1
case "a":
case "A":
    if ( condition1) {
        ...
    }
    else if { condition2}
        ...
    }
    break;
于 2012-08-01T08:56:49.237 回答
1

我认为即使您优化了那段代码,它仍然会非常脆弱且难以维护。例如,我建议尝试使用策略模式来重构它(当然,如果可能的话)。

您将受益匪浅,因为您隔离了每个例程并以 OOP 方式进行操作,从而使将来更容易更改和维护。

于 2012-08-01T09:08:14.847 回答