当前位置:  开发笔记 > 编程语言 > 正文

这个切换声明味道不好吗?

如何解决《这个切换声明味道不好吗?》经验,为你挑选了4个好方法。

不,遗漏不是穷人的风格 - 包容是穷人的风格.那些是无法达成的陈述.摆脱它们.

我喜欢这样的事实情况下直接返回设置一个局部变量,然后只在底部返回,而不是-这意味着当你读它的代码是令人难以置信的清晰确实只需要回报,而这一切.

关于切换的侧面说明:

至于在这里使用switch语句是否正确,它实际上取决于其他事情.使用多态类型是否有意义?如果你是Java,你能使用智能枚举吗?(您可以在C#中模仿这些,但没有那么多的支持.)

我要说这至少应该考虑不同的设计 - 但它可能是最简单的方法来做你想要的.



1> Jon Skeet..:

不,遗漏不是穷人的风格 - 包容是穷人的风格.那些是无法达成的陈述.摆脱它们.

我喜欢这样的事实情况下直接返回设置一个局部变量,然后只在底部返回,而不是-这意味着当你读它的代码是令人难以置信的清晰确实只需要回报,而这一切.

关于切换的侧面说明:

至于在这里使用switch语句是否正确,它实际上取决于其他事情.使用多态类型是否有意义?如果你是Java,你能使用智能枚举吗?(您可以在C#中模仿这些,但没有那么多的支持.)

我要说这至少应该考虑不同的设计 - 但它可能是最简单的方法来做你想要的.



2> Martin Brown..:

如果您这样做,说C#编译器会发出警告,说明中断是无法访问的代码.因此,在我的书中,返回和休息都是不好的形式.



3> MPritchard..:

在我看来,我会省略'break'关键字.我个人认为这有助于提醒人们'执行已经结束!没什么好看的!'.



4> Elie..:

我会做一个小改动:

switch(some case) {
    case 1:
           // compute something ...
           break;
    case 2:
           // compute something ...
           break;
/* some more cases ... */
    case X:
           // compute something ...
           break;
    default:
           // do something
           break;
}
return something;


我建议不要这样做,因为这意味着你需要阅读整个case语句来检查'something'变量是否还有其他变化.如果你刚刚回来,那么很快就会明白,不,没有:-)
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有