Short but honestly good advise to rather pull boolean checks apart and re-group them as they make sense in the context of the given situation you’re checking for.

I started doing this when building an alert-check system for the company I’m working for right now, and it really helps organize what is a pre-condition, what a syntactical requirement, etc etc.

  • overcast5348@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    5 months ago

    I’ve had at least one code reviewer ask me to put all the logic in the if ... line rather than use a variable or two in order to “simplify code by reducing the number of variables.”

    At the very least, this article helped me confirm my own bias of “that guy is a moron” and I can send this article to him the next time he reviews my code.

    • nxdefiant@startrek.website
      link
      fedilink
      arrow-up
      12
      ·
      5 months ago

      Yes, you need to push back on those people. They’re the type that get high on code golf and end up writing unmaintainable one-liners measured in kilobytes for fun.

    • nik9000@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      I review a ton of code and have a bunch reviewed in turn. I don’t remember that last time I’ve had this come up. Either direction really. I guess I’m lucky. We just split naturally in similar places.

    • QuadriLiteral@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      I guess this is go, and I don’t know what the scoping is. In C++ I also suggest putting as much in the if as possible, because it limits the scope of the variables.

    • Valmond@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      Well it actually depends.

      Does it make the code more readable? Like you have several if statements using the same things (and/or else if)? Yeah then it’s probably good.

      If you have an if (work.lengt() == 0 && stacked_work.length() == 0) and that’s it, probably not. Depending of whats happining then of course.

      Be creative guys! But also dont be too creative :-) Think about the poor coder doing something with all that in a year or two, let’s make his life less miserable (It’s probably you, too).

      • overcast5348@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        “it actually depends”

        Yes, it depends. But in this scenario we’re not discussing if statements with one or two conditions. We’re exclusively discussing multiple complicated conditions. :)