this post was submitted on 01 Sep 2023
338 points (96.2% liked)

Programming

17492 readers
49 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 !webdev@programming.dev



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] lukstru@feddit.de 8 points 1 year ago (1 children)

If your function is longer than 10 statements, parts can almost always be extracted into smaller parts. If named correctly, this improves readability significantly

[–] words_number@programming.dev 8 points 1 year ago (1 children)

HELL NO! If you split that function into three, but these always have to be called in succession, you win nothing but make your code WAY harder to read/follow.

[–] MindlessZ@lemm.ee 1 points 1 year ago (1 children)

Well named functions, called in succession increase readability, not decrease.

[–] r1veRRR@feddit.de 2 points 1 year ago (1 children)

What do you gain from that approach, compared to comments, and appropriate whitespace? If you spread out your function over three, you now potentially have triple the moving parts. You have to manage in- and output, and you have to hope noone coming after you sees your subfunction, and assumes it's there for using.

[–] MindlessZ@lemm.ee 1 points 1 year ago

Testability for one, but I would also argue that those functions are there for using. If some block of logic is sufficient to stand on its own, it should. I'm not saying do it arbitrarily, but it's been my experience that small functions lead to more readable code and better testing. Most people write a 15 line function treating it as if it does a single thing when in reality it's doing two or three discrete operations