It makes code a tiny bit more verbose but much more readible and most of all easily extendible without having to worry about bracket positions
The issue is not verbosity. It's the needless addition of nesting levels and independent expressions in a non-idiomatic way, which greatly increase the cognitive load of checking a single row of chained predicates. It's bad code.
if(an expression) {
if(another expression) {
}
}
is MUCH lower than if(an expression && another expression) {
}
which always raise the questions of:- did the author think about operator precedence
- did the author want to use && or &
- did the author think about short-circuiting (as evidenced in this very thread, a lot of people do not)