//first
if(num % 2 == 0 ) {
isEven = true;
}
//second
isEven = (num %2 == 0);
Run Code Online (Sandbox Code Playgroud)
什么是最好的事情,首先是一个代码味道的情况?
他们不会做同样的事情 - 如果num是奇怪的话,第一个离开isEven它的前一个值,第二个离开它false.
我会:
当一个if块的主体只是设置一个变量,并且该值可以表示为块的条件的一些简单修改if,并且你总是想设置一些值,我只会使用简单的赋值.
这同样适用于return语句-我宁愿有:
return (num % 2 == 0); // Or (num & 1 == 0)
Run Code Online (Sandbox Code Playgroud)
比
if (num % 2 == 0) {
return true;
} else {
return false;
}
Run Code Online (Sandbox Code Playgroud)