例如
int f(int a) { ... return a > 10; }
被认为是可以接受的(不合法,我的意思是它是"好的代码"),或者它应该总是在有条件的,像这样
int f(int a) { ... if (a > 10) return 1; else return 0; }
Mark Bracket.. 37
这是可以接受的 - 如果你的回报类型是bool.
这是可以接受的 - 如果你的回报类型是bool.
这绝对是可以接受的!实际上,Joel在最新的stackoverflow播客中提到了这一点.他说这是他向Fog Creek开始几乎所有程序员的一件事.
return a > 10 ? 1 : 0;
...更有意义,因为你正在返回一个int,而不是一个bool.
第一种情况非常好,远比第二种情况好,恕我直言.作为一个可读性问题,我个人会这样做
return (a > 10);
但这是次要的,并不是每个人都会同意的.