Good Habits: Compare the Constant First
One of those bugs that affects newbs and (perhaps with decreasing frequency) the old guard alike is the accidental slip of the key on the second '=' in what was supposed to be a equality comparison.
If, for example you want to check the following:
if( v == 1 )
{
...
}
But you're typing in a flurry because your idea will revolutionize the industry and you accidentally do this:
if( v = 1 )
{
...
}
Guess what? - totally valid! Now you've got a case of "always true" and you've corrupted the value of 'v' for good measure. Get ready to spend the next 3 hours trying to figure out how everything got so messed up.
But, if you get into the habit of doing this:
if( 1 == v )
{
...
}
And you make the same mistake...
if( 1 = v )
{
...
}
...the compiler will complain right away and easily catch the bug before you spend hours debugging your code.
Written by Darryl Wright
Related protips
1 Response
One can also just use a good compiler - gcc will warn about this (-Wparentheses, in -Wall).