this post was submitted on 09 Nov 2024
174 points (93.5% liked)

Programmer Humor

19557 readers
598 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
[–] [email protected] 23 points 5 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.

[–] [email protected] 23 points 5 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.

[–] [email protected] 13 points 5 days ago

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

[–] [email protected] 7 points 5 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.

[–] [email protected] 4 points 5 days ago

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

[–] [email protected] 2 points 5 days ago

What is that, Vue?

[–] [email protected] 7 points 4 days ago

Early returns save lives

[–] [email protected] 4 points 5 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.

[–] [email protected] 5 points 5 days ago (1 children)

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

[–] [email protected] 2 points 4 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

[–] [email protected] 3 points 4 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.

[–] [email protected] 4 points 5 days ago (1 children)

But what if I were to add more 'and'

It would be extremely painful

[–] [email protected] 3 points 5 days ago (1 children)
[–] [email protected] 3 points 5 days ago
[–] [email protected] 1 points 5 days ago

Gotta go fast