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 }