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