哪个可读性更好? [关闭]
Posted
技术标签:
【中文标题】哪个可读性更好? [关闭]【英文标题】:Which is better for readability? [closed] 【发布时间】:2013-10-09 05:46:09 【问题描述】:就可读性而言,哪种风格更好?
bool isNew = (SelectList.Key > 0) ? true: false;
或
bool isNew = SelectList.Key > 0;
我知道这很琐碎,但只是想让它变得更好......谢谢
编辑:交换条件语句中的值
【问题讨论】:
它们甚至不相等...... 我想你已经证明了第二个更好。第一个让我想起了这样的初学者代码if (something == true)
。
@RajeshSubramanian 我的意思是第二个更具可读性。首先,您必须仔细检查 false
和 true
是哪条路。
嗯,它显然是第二个,它也有更好的性能。为什么要做一个 inline if,它返回 true 表示 true 并返回 false 表示 false ?您想要的 bool 结果隐含在条件本身中。
@Havenard 这将是一个糟糕的编译器,它不会从两个示例中生成相同的机器代码。
【参考方案1】:
我会说这更好
bool isNew = SelectList.Key > 0;
或者你可以通过这样的写作来增强可读性,在我看来
//set the value of isNew to true if bla bla else false.
bool isNew = (SelectList.Key > 0);
后者会迫使我首先处理表达式,而不是得到您将 SelectList.Key
分配给 isNew
的印象。
【讨论】:
好点。眼睛更快地识别条件可能是因为在括号中看到条件更常见,例如if
和 while
对于我们中的一些人来说,多余的括号会降低可读性,因为我们必须弄清楚它们的目的是什么,并最终认识到它们没有做任何事情。以上是关于哪个可读性更好? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS vs Angular 5 vs Vue.js - 哪个框架更好?