【问题标题】: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 这将是一个糟糕的编译器,它不会从两个示例中生成相同的机器代码。

标签: c# c++ .net c coding-style


【解决方案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
  • 对于我们中的一些人来说,多余的括号会降低可读性,因为我们必须弄清楚它们的目的是什么,并最终认识到它们没有做任何事情。
猜你喜欢
  • 1970-01-01
  • 2020-12-19
  • 2014-07-26
  • 2021-08-23
  • 1970-01-01
  • 2022-08-08
  • 2010-09-12
  • 2022-01-23
  • 2011-03-06
相关资源
最近更新 更多