【发布时间】:2014-02-06 05:24:11
【问题描述】:
我阅读了一个关于比较说写的布尔值的编码风格建议
if (myBoolValue == true) { ... }
if (myBoolValue == false) { ... }
而不是写
if (myBoolValue) { ... }
if (!myBoolValue) { ... }
因为它增加了代码的可读性,即使它们是等效语句。我很清楚这不是一种通常的编码实践,但我同意它在某些情况下可能会增加可读性。
我的问题是两者在代码执行优化方面是否有任何区别,或者(一个良好实现的)编译器是否将它们翻译成相同的东西?
【问题讨论】:
-
非常可疑的推荐。很多人,当然包括我在内,都认为冗余语法会降低可读性。
-
我也认为它会降低可读性。不过,不应该对编译后的代码产生影响。
-
仅供参考 maurus.net/resources/programming-languages/php "
(string)"false" == (int)0是 true"
标签: optimization if-statement compiler-construction coding-style