我是初学者,我正在阅读/sf/ask/16606901/oding-mistakes-are-a-telltale-giveaway-of-an-inexperienced-programmer.我没有得到一些东西.
为什么写这样的东西是不受欢迎的?
if (IsAManMan == true) {
Console.WriteLine("It's a MAN, man!");
}
Run Code Online (Sandbox Code Playgroud)
这个怎么样?
if (test) {
return true;
}
else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
我不写上面的代码.应该这样写:return test
?或者为了便于阅读,我有时会把它写成return test?true:false
或return (test==true)? true:false
Bol*_*ock 12
在这个例子中:
if (IsAManMan == true) {
Console.WriteLine("It's a MAN, man!");
}
Run Code Online (Sandbox Code Playgroud)
在大多数语言中,if
条件总是评估布尔表达式,这意味着IsAManMan
只能是true或false.因此,与真或假相比是不必要的,因为它是隐含的.所以我们只写这个:
if (IsAManMan) {
Console.WriteLine("It's a MAN, man!");
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中:
if (test) {
return true;
}
else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
按照上面的例子,这意味着test
只能是真或假,这就像说:
if (true) {
return true;
}
else { // If it's not true, it's false
return false;
}
Run Code Online (Sandbox Code Playgroud)
这又是不必要的冗长代码,所以我们只是
return test;
Run Code Online (Sandbox Code Playgroud)
代替.
最后,它仍然是一个偏好和可读性的问题.例如,如果您认为if (IsAManMan == true)
比解释更容易if (IsAManMan)
,您仍然可以这样写,编译器也不介意.