论坛首页 入门技术论坛

请问这种判断方法叫什么名字?从哪里出来的?

浏览 27328 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-05-08  
大家好,我相信不少人都常用这样一种判断方法:
if (status == 1) {
          doSomething();
          return;
      }
     if (status == 2) {
          doSomething();
          return;
      }
      doSomething();


还有另外一种写法是:
if (status == 1) {
          doSomething();
           }
     else if (status == 2) {
          doSomething();
          return;
      }
     else
      doSomething();

     
我常用第一种写法,因为我觉得可读性更好也更简洁,但是现在我们team里有人不知道第一种写法,认为很难懂,我不知道怎么说服他。所以请问大家第一种写法出自哪里?叫什么名字?你们经常用第一种吗?(不讨论if/else可以重构成其他模式)
   发表时间:2007-05-08  
有资深工程师吗,看看他对你们编码有什么规范没有?

能够统一的话不错,不统一也不妨碍
事情还多着了,不必死磕这一点,也不要说服别人
0 请登录后投票
   发表时间:2007-05-08  
如果情况就是这么简单,实在是没有区分的必要。
0 请登录后投票
   发表时间:2007-05-08  
我也常用第一种写法,确实比较清晰,至少缩进层次比较少。

怎么命名,我也不知道,我们团队内俗称为“短路法”或“并列条件短路”。
0 请登录后投票
   发表时间:2007-05-08  
...我不太赞成用第一种写法,
不记得是在哪里看到的了.

if
if
if
这样一条条的判断对性能有影响,当然你可以忽略不计,除非很大的循环.

if
else if
else if
则只命中一个条件,其余的if 条件jvm都会跳过.
0 请登录后投票
   发表时间:2007-05-08  
刚想起来,第二种其实就是短路法.
0 请登录后投票
   发表时间:2007-05-08  
Qieqie 写道
有资深工程师吗,看看他对你们编码有什么规范没有?

能够统一的话不错,不统一也不妨碍
事情还多着了,不必死磕这一点,也不要说服别人


有几位都是有几年工作经验的工程师,我也有几年工作经验,只是他们几个在这个组呆很长时间了,我刚来几个月
0 请登录后投票
   发表时间:2007-05-08  
还是让自己去接受别人吧
0 请登录后投票
   发表时间:2007-05-08  
第一种扩展时比
第二种扩展时
限制多一点。。。
个人比较喜欢第二种。
0 请登录后投票
   发表时间:2007-05-08  

仅是输入参数验证、条件判断时,我使用-用法1:
if (event == null) {
    return;
    //or throw exception here, just like NullPointerException or IllegalArgumentException!
}
if (event.isExpired()) {
    return;
}
events.add(event);

策略/类别判断时,假如不使用switch,我使用-用法2:
if (event.getSource() == 1) {
    //put some statements, or call another method
    //not return statement here
}
else if (event.getSource == 2) {
    //put some statements, or call another method
    //not return statement here
}

用法3:
使用设计模式(策略配置+模式):
   略


------------------
怎么使用都没问题,你要书写人习惯,并保持良好的缩进对齐。
0 请登录后投票
论坛首页 入门技术版

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