Um daqueles bugs que afetam newbs e (talvez com frequência decrescente) a velha guarda é o deslize acidental da chave no segundo ‘=’ no que deveria ser uma comparação de igualdade.
Se, por exemplo, você deseja verificar o seguinte:
if( v == 1 )
{
...
}
Mas você está digitando com pressa porque sua ideia vai revolucionar a indústria e você acidentalmente faz isso:
if( v = 1 )
{
...
}
Adivinha? – totalmente válido! Agora você tem um caso de “sempre verdadeiro” e corrompeu o valor de ‘v’ para garantir. Prepare-se para passar as próximas 3 horas tentando descobrir como tudo ficou tão bagunçado.
Mas, se você adquirir o hábito de fazer isso:
if( 1 == v )
{
...
}
E você comete o mesmo erro …
if( 1 = v )
{
...
}
… o compilador reclamará imediatamente e detectará facilmente o bug antes que você passe horas depurando seu código.