this post was submitted on 29 Apr 2024
121 points (96.2% liked)

Programming

17389 readers
154 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 6 months ago (1 children)

Good advice, clear, simple and to the point.

Stated otherwise: "whenever you need to add comments to an expression, try to use named intermediate variables, method or free function".

[–] [email protected] 8 points 6 months ago (2 children)

Sometimes this can help, but lately I've been running into the opposite problem where people have been following this advice to such a degree that one cannot ever figure out what is going on without having to constantly jump around to find the actual code involved in doing something.

[–] [email protected] 3 points 6 months ago

Ah I hate that, too. It speaks of bad abstraction, over eager abstraction or unnecessary coupling that is the hidden behind this. Difficult to fix though without essentially starting over.

[–] [email protected] 2 points 6 months ago

I absolutely agree that method extraction can be abused. One should not forget that locality is important. Functionnal idioms do help to minimise the layer of intermediate functions. Lamda/closure helps too by having the function much closer to its use site. And local variables can sometime be a better choice than having a function that return just an expression.