NAICE - No Assignments In Conditional Expressions

Use of assignment within conditions makes the source code hard to understand.

Wrong

if ( (dir = new File(targetDir)).exists() ) {
    // do something
}

Right

dir = new File(targetDir);
if ( dir.exists() ) {
    // do something
}