论坛首页 编程语言技术论坛

switch 最后应加上break,由此想到的

浏览 5638 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-12-01  
gdpglc 写道
kjj 写道
je的水平真的让这种帖子拉低了。。。。。。。。。。。

说这话,就是说你是水平高的呗...
不过,一句风凉话能说明你哪高呀?
最看不上的就是你这样的人,总想通过压低别人来抬高自已。

看到别人代码一定说烂,又说不出哪不好。
看到别人翻译的书,一定说翻的烂,又不能看原著。
说到什么都会,又做不了什么实际的东西。

这样人见多了。


喷子永远是喷子,基础都不学就上来显摆!
0 请登录后投票
   发表时间:2012-12-01  
这跟设计模式有关吗。。。。怎么会发在这里。。。
0 请登录后投票
   发表时间:2012-12-02  
既然使用了switch,就应该按照规范进行编写,加上对应的break。曾经见过一些高手将switch做如下用:
swicth(code){
   case x:
          // code
   case y:
        //code
   case m:
        //code
     break;
   default:break;
}
我当时就在想,与其如此,为何不用一个if else还来得更清晰呢。且不容易写错。当然每个人有自己的书写习惯,但规范的编写,会减少很多意外的笔误,或者失误。这属于低级错误。
0 请登录后投票
   发表时间:2012-12-02   最后修改:2012-12-02
freezingsky 写道
既然使用了switch,就应该按照规范进行编写,加上对应的break。曾经见过一些高手将switch做如下用:
swicth(code){
   case x:
          // code1
   case y:
        //code2
   case m:
        //code3
     break;
   default:break;
}
我当时就在想,与其如此,为何不用一个if else还来得更清晰呢。且不容易写错。当然每个人有自己的书写习惯,但规范的编写,会减少很多意外的笔误,或者失误。这属于低级错误。


注意:上边的switch的执行是这样的:
code==x时 执行code1 code2 cod3
code==y时 执行code2 code3
code==m时 执行code3

如果用 if esle 就会出现重复代码。你怎么选择呢?

我认为switch不是多余的。当case项很多时,它更象是一个逻缉执行表格,由于判断条件表达直观单一,用户可以直接把注意力放在case的逻缉上。而if else则不是,每一项都要写出判断表达式,且需要大括号辅助,当case项很多时,if else的表达是啰嗦的。

比如:如果是对26个英文字母进行匹配,你会用哪个?

0 请登录后投票
   发表时间:2012-12-03  
构造不私有,还叫单例么?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics