Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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


> It makes code a tiny bit more verbose (...)

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.


for me the cognitive load of

    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)


And not to forget, is it okay to omit parentheses, does && take precedence over any other symbol in the expression?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: