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

使用条件之外的比较运算符

如何解决《使用条件之外的比较运算符》经验,为你挑选了4个好方法。

例如

int f(int a) {
   ...
   return a > 10;
}

被认为是可以接受的(不合法,我的意思是它是"好的代码"),或者它应该总是在有条件的,像这样

int f(int a) {
   ...
   if (a > 10)
      return 1;
   else
      return 0;
}

Mark Bracket.. 37

这是可以接受的 - 如果你的回报类型是bool.



1> Mark Bracket..:

这是可以接受的 - 如果你的回报类型是bool.



2> Greg Hewgill..:

这绝对是可以接受的!实际上,Joel在最新的stackoverflow播客中提到了这一点.他说这是他向Fog Creek开始几乎所有程序员的一件事.


当我发现不是每个人都是第一种方式时,我大吃一惊!第一种方式更具可读性和简洁性,而第二种方式更难理解,因为单个简单的概念需要四行而不是一行.

3> ilitirit..:
return a > 10 ? 1 : 0;

...更有意义,因为你正在返回一个int,而不是一个bool.



4> Kevin Little..:

第一种情况非常好,远比第二种情况好,恕我直言.作为一个可读性问题,我个人会这样做

   return  (a > 10);

但这是次要的,并不是每个人都会同意的.


只有在调用函数时在括号前加上空格,我才这样做.
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有