this post was submitted on 09 Nov 2024
169 points (93.3% liked)

Programmer Humor

19544 readers
498 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
all 16 comments
sorted by: hot top controversial new old
[–] grandma@sh.itjust.works 5 points 2 days ago

Early returns save lives

[–] ptz@dubvee.org 23 points 3 days ago (5 children)

Just going to leave this horror here. It's the post feed logic from Tesseract that determines what posts should be displayed or hidden.

[–] Alexstarfire@lemmy.world 23 points 3 days ago

If that's horror to you, you've been sheltered. That's quite readable, though I'd make the long lines into their own subroutines.

[–] Sanctus@lemmy.world 13 points 3 days ago

Delightfully devilish, indeed. You made it as easy to read as possible though.

[–] PoolloverNathan@programming.dev 7 points 3 days ago (1 children)

Why not factor out the ! via de Morgan's laws (which would also remove most of the parentheses, as iirc && binds tighter than ||)? Also, does that language have a {#continue} sort of syntax for loops? If so, you could make it a guard clause.

[–] isVeryLoud@lemmy.ca 4 points 2 days ago

Thank you, I knew the rule but did not know it had a name.

[–] Kaboom@reddthat.com 2 points 2 days ago

What is that, Vue?

[–] Odinkirk@lemmygrad.ml 4 points 2 days ago (1 children)

That's why you set the alternate/exit cases as individual if statements before whatever was going to be inside the original if block.

To me too long to learn that.

[–] Traister101@lemmy.today 5 points 2 days ago (1 children)

My code got much more readable when I learned about early returns lol

[–] sukhmel@programming.dev 2 points 2 days ago (1 children)

Early returns improve readability in that they make it simpler to read, but I also find them decreasing readability in that you may miss an early return and wonder why is execution not hitting the line you expect it to

[–] Traister101@lemmy.today 3 points 2 days ago

I'd say in most cases that's a sign something needs to be extracted into a separate function. Course sometimes code is just complicated and extracting only makes things harder to follow. Even then I'd much rather use early return than nested ifs as those are significantly harder for me to follow.

[–] notprogrammer@programming.dev 4 points 3 days ago (1 children)

But what if I were to add more 'and'

It would be extremely painful

[–] magic_lobster_party@fedia.io 3 points 2 days ago (1 children)
[–] dance_ninja@lemmy.world 1 points 3 days ago

Gotta go fast