最近我注意到一些编写"if"语句的程序员的风格倒退.也就是说,在测试中,他们首先将常量值,然后是他们正在测试的变量.例如,他们写道:
bar = foo();
if (MY_CONSTANT == bar) {
/* then do something */
}
Run Code Online (Sandbox Code Playgroud)
对我而言,这使代码难以阅读.因为我们真的在讨论测量变量"bar"的值而不是所有等于"MY_CONSTANT"的变量,所以我总是把变量放在第一位.它是一种未说出口的语法.
无论如何,我看到一些程序员总是以相反的顺序执行此操作.此外,我在过去几年中才注意到这一点.我已经用C语言编程了超过25年,直到比如说过去4年左右我才看到这个.所以我的问题是:
人们有没有理由这样做,如果是这样的话是什么?这是某些语言或项目的通用标准,还是在某些大学教授?还是只有少数人试图与众不同?
我已经看到两种方式都进行了比较.是否有性能差异或仅仅是个人偏好?
我看到它在这个答案中被使用: