参数比较顺序

时间:2010-09-07 21:08:18

标签: objective-c cocoa

我是一名经验丰富的程序员,因此在问这个问题时感到有些尴尬,但无论如何都决定这样做。

我正在读这本书,并且还看到了网络中的各种示例,其中比较操作中的参数顺序被颠倒了,我想知道是否有理由,或者只是因为它看起来“很酷”并且完全一样。

示例:

我会编码:

if(bool_variable == YES)

虽然我在本书和各种例子中看到了

if(YES == bool_variable)

说明

非常感谢!

2 个答案:

答案 0 :(得分:6)

有些人喜欢yoda conditions,因为他们可以帮助您在不小心输入=而不是==时找到错误。例如:

if (var = YES)

会编译,但可能不会按照您希望的方式工作。反过来写它:

if (YES = var)

会导致编译时错误。我个人不喜欢这种结构,但对于他自己的每一种,我猜。

答案 1 :(得分:0)

Carl得到了 - 一个在左侧放置常量的程序员将受到编译器的保护。

我只想补充一点,也许人们转换它们的原因之一是,一个或一个雇主可能有代码风格指导方针,指明常数应该在哪一侧,但当然这只适用于安全网语法错误。

我个人总是将常数放在骑行方面以便于阅读,但对于他/她自己。