Source code is written once; and read over and over again. So make sure it is easy to read and understand.

I keep seeing a poor coding practice. I see it in production code, in test code, in X++ code, in C# code, in C++ code, in examples on the web, when interviewing candidates. I see it where ever I look. It is a practice that adds unnecessary complexity to source code, it make the source code harder to read, and harder to write. And what disturbs me the most is, how easy it is to avoid.

Take a look at this simple code:

boolean isNegative(int value)
{
    if (value<0)
    {
        return true; 
    }
    else
    {
        return false;
    }
}  
The "else" statement is completely superfluous. This rewrite does exactly the same, and is easier to read:
boolean isNegative(int value)
{
    if (value<0)
    {
        return true; 
    }

    return false;   
}
Yes; the compiler will optimize the "else" statement away - but that is not my point. The compiler can easily see through the weirdest constructs. I (and most other human beings) cannot. Granted; every developer worth his salt should have no problem understanding both of the above implementations. However often the requirements are more complex.
int foo(int bar)
{
    if ( /*expr1*/ )
    {
        throw /*some exception*/; 
    }
    else
    {
        if ( /*expr2*/ ) 
        {
            return 1;
        }
        else
        {
            if ( /*expr3*/ ) 
            {
                return 2;
            }
            else
            {
                if ( /*expr4*/ ) 
                {
                    return 3;
                }                
                else
                {
                    throw /*some exception*/;
                }
            }
       }
    }
}
Or, this slightly better version: 
int foo(int bar)
{
    if ( /*expr1*/ )
    {
        throw /*some exception*/; 
    }
    else if ( /*expr2*/ ) 
    {
        return 1;
    }
    else if ( /*expr3*/ ) 
    {
        return 2;
    }
    else if ( /*expr4*/ ) 
    {
        return 3;
    }
    else
    {
        throw /*some exception*/;
    }
}
Could be simply rewritten as:
int foo(int bar)
{
    if ( /*expr1*/ )
    {
        throw /*some exception*/; 
    }
    if ( /*expr2*/ ) 
    {
        return 1;
    }
    if ( /*expr3*/ ) 
    {
        return 2;
    }
    if ( /*expr4*/ ) 
    {
        return 3;
    }      
    throw /*some exception*/;
}
Never-ever-under-any-circumstances-for-any-reason-what-so-ever write an "else" statement if the preceding block unconditionally returns or throws an exception.

Now I got it off my chest :-)