Mic*_*nov 2 c# language-agnostic boolean coding-style
在代码审查期间,我发现了许多C#代码的地方,如下所示:
if(IsValid()) {
return true;
}
else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
甚至"更好":
return (IsValid()? true : false);
Run Code Online (Sandbox Code Playgroud)
我总是想知道为什么不写这样的代码:
return IsValid();
Run Code Online (Sandbox Code Playgroud)
这是我编写此代码的方式.我不是在质疑开发人员的技能,而是试图调查开发人员的灵魂.为什么开发人员喜欢更复杂的代码而不是更简单直观?或者可能是因为很难接受布尔类型作为一等公民?
Meh*_*ari 15
我认为return IsValid();
是完全有效和可读的代码.
顺便说一句,我肯定会打击任何写(IsValid() ? true : false
)的人.这是不必要的复杂.
PS.这就是svn blame
为此而设计的.
是的,你应该像你说的那样做.这些人正在做这些过于冗长的事情,因为他们首先就是这样学习的,也许是在CS 101中,他们从未想过要走出他们所知道的空间,看看是否有更好,更简单的方法.
这确实说明了他们的能力.优秀的程序员需要更有思想,更少隐藏.