以下编码样式有什么好处,它们之间有什么区别吗?
int i;
// more code
if (i == 0) {...}
VS
if (0 == i) {...}
谢谢
答案 0 :(得分:3)
完全没有区别。
我总是发现后一个例子的可读性较差,我很少看到它,但有些人似乎喜欢它。
答案 1 :(得分:2)
没有区别,选择一个并坚持下去以保持一致性。 (value == variable)
是来自较旧语言的遗物,您可能会意外地将值分配给if (a = 0)
中的变量,而不是(a == 0)
它们都会变成(有效)相同的机器指令,因此根本不会有任何性能差异
答案 2 :(得分:2)
效率没有区别,但这种风格是可读性的首选:
if (i == 0) {...}
另一个版本if (0 == i) {...}
是Yoda condition的示例,它被认为是一种糟糕的编程习惯。引用链接:
“Yoda Conditions” - 使用if(constant == variable)而不是if(variable == constant),如if(4 == foo)。因为它就像是说“如果蓝色是天空”或“如果高大就是男人”。