最近我注意到一些程序员编写“if”语句时将其反过来。也就是说,在测试中,他们首先放置常量值,然后才是要测试的变量。例如,他们会这样写:
bar = foo();
if (MY_CONSTANT == bar) {
/* then do something */
}
对我来说,这使得代码有点难以阅读。由于我们真正讨论的是测试变量“bar”的值,而不是所有等于“MY_CONSTANT”的变量,因此我总是将变量放在前面。这是一种未明文规定的语法。
无论如何,我发现有些程序员总是按相反的顺序做。此外,我只在过去几年中注意到这一点。我已经使用C语言编程了25多年,直到大约4年前才看到这个问题。因此我的问题是:
人们为什么要这样做?如果是这样,是什么原因?这是某些语言、项目的共同标准,还是在某些大学教授?还是只有一些人试图与众不同?