我现在正在研究C#,遇到以下情况,有什么更好的实践,重复代码如"EX 1"或使用goto"EX 2"这样的语句?我不想要个人意见.
// EX 1:
switch (a)
{
case 3:
b = 7;
c = 3; // duplicate code <-|
break; // |
case 4: // |
c = 3; // duplicate code --|
break;
default:
b = 2;
c = 4;
break;
}
// EX 2:
switch (a)
{
case 3:
b = 7;
goto case 4; // not duplicate code and use goto statement
case 4:
c = 3;
break;
default:
b = 2;
c = 4;
break;
}
Run Code Online (Sandbox Code Playgroud)
这真的取决于.
案例3是案例4的特例吗?
在那种情况下,goto可能是有序的,因为如果我们在稍后的时间点向案例4添加一些新的行为,那么我们也将自动获得案例3.
如果案例3和4不相关,那么复制代码会更好.
如果你的真实情况很小,只有很少的行,我宁愿复制代码,因为简单和可读性.
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |