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.
I was expecting something more profound. Isn’t this just the concept of using variables to keep code readable? Not a new concept and likely one most devs learn early on.
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.
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.
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.
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.
This is “Testing on the Toilet” which are short flyers that are posted in bathrooms at Google. They aren’t typically meant to be particularly profound, just to remind people of common code patterns that can be written more clearly or other reminders that are good to keep in mind.