this post was submitted on 09 Nov 2024
176 points (93.6% liked)

Programmer Humor

19623 readers
26 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
[–] ptz@dubvee.org 23 points 1 week 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 1 week 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 1 week ago

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

[–] PoolloverNathan@programming.dev 7 points 1 week 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 1 week ago

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

[–] Kaboom@reddthat.com 1 points 1 week ago

What is that, Vue?

[–] grandma@sh.itjust.works 8 points 1 week ago

Early returns save lives

[–] notprogrammer@programming.dev 5 points 1 week ago (1 children)

But what if I were to add more 'and'

It would be extremely painful

[–] magic_lobster_party@fedia.io 3 points 1 week ago (1 children)
[–] Odinkirk@lemmygrad.ml 5 points 1 week 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 6 points 1 week ago (1 children)

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

[–] sukhmel@programming.dev 2 points 1 week 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 1 week 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.

[–] dance_ninja@lemmy.world 1 points 1 week ago

Gotta go fast