Я заметил тонкую тенденцию среди некоторых разработчиков, которые последовательно размещают буквальное значение выражения логического равенства в левой части выражения.
Пример:
//Style #1, the style in question
if (null == object.Value || 0 == object.Value) doSomething();
//Style #2, the way I've always written it
if (object.Value == null || object.Value == 0) doSomething();
Есть ли какое-то измеримое преимущество, полученное при написании логических выражений типа # 1? Я не могу понять, почему он будет быстрее вычисляться во время выполнения, но мне интересно, возможно, некоторые компиляторы могут оптимизировать # 1 с большей готовностью, чем # 2? Если да, пожалуйста, объясните, какие компиляторы и почему.
Я всегда считал, что это просто вопрос личного вкуса (возможно, нужно сделать аргумент читабельности), но я видел достаточно кода, написанного как # 1, и мне интересно, есть ли в нем что-то большее, чем я? Я в курсе.