哪个可读性更好? [关闭]

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 我的意思是第二个更具可读性。首先,您必须仔细检查 falsetrue 是哪条路。 嗯,它显然是第二个,它也有更好的性能。为什么要做一个 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 的印象。

【讨论】:

好点。眼睛更快地识别条件可能是因为在括号中看到条件更常见,例如 ifwhile 对于我们中的一些人来说,多余的括号会降低可读性,因为我们必须弄清楚它们的目的是什么,并最终认识到它们没有做任何事情。

以上是关于哪个可读性更好? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 查询 - 哪个性能更好?

ReactJS vs Angular 5 vs Vue.js - 哪个框架更好?

ibatis批处理和把批量数据拼成一条sql语句,哪个效能更好?

python程序开发目录规范

??或 .GetValueOrDefault() [关闭]

如何在纯 SQL 中转换查询结果以获得更好的可读性