O principal motivo para fazer isso (o chamado "condicional Yoda") é evitar acidentes nos quais você acidentalmente usa um operador de atribuição ( =
) em vez do operador de comparação de igualdade ( ==
).
Ou seja, se você cometeu o erro de fazer:
$foo = 5;
if ($foo = 1) {
// Stuff
}
A declaração será avaliada como true
(ou, no caso de alguns idiomas - como PHP - um valor geral) e você terá um erro difícil de encontrar.
Mas se você fez:
$foo = 5;
if (1 = $foo) {
// Stuff
}
Você receberá um erro fatal porque não pode atribuir $foo
a um número inteiro.
Mas, como você observou, reverter a ordem geralmente torna as coisas menos legíveis. Assim, muitos padrões de codificação (mas não todos, incluindo o WordPress ) sugerem ou exigem $foo == 1
apesar dos benefícios da busca de bugs de 1 == $foo
.
Geralmente, meu conselho é seguir qualquer padrão de codificação estabelecido, se houver um: para o WordPress, isso significa usar condicionais Yoda.
Quando não há, e é impossível estabelecer um através do consenso com seus colegas, é a escolha do negociante.