我是一名经验丰富的程序员,因此在问这个问题时感到有些尴尬,但无论如何都决定这样做。
我正在读这本书,并且还看到了网络中的各种示例,其中比较操作中的参数顺序被颠倒了,我想知道是否有理由,或者只是因为它看起来“很酷”并且完全一样。
示例:
我会编码:
if(bool_variable == YES)
虽然我在本书和各种例子中看到了
if(YES == bool_variable)
说明
非常感谢!
答案 0 :(得分:6)
有些人喜欢yoda conditions,因为他们可以帮助您在不小心输入=
而不是==
时找到错误。例如:
if (var = YES)
会编译,但可能不会按照您希望的方式工作。反过来写它:
if (YES = var)
会导致编译时错误。我个人不喜欢这种结构,但对于他自己的每一种,我猜。
答案 1 :(得分:0)
Carl得到了 - 一个在左侧放置常量的程序员将受到编译器的保护。
我只想补充一点,也许人们转换它们的原因之一是,一个或一个雇主可能有代码风格指导方针,指明常数应该在哪一侧,但当然这只适用于安全网语法错误。
我个人总是将常数放在骑行方面以便于阅读,但对于他/她自己。