this post was submitted on 14 Aug 2023
1369 points (97.9% liked)

Programmer Humor

19463 readers
403 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 30 points 1 year ago (1 children)

I think that's even worse because it increases the likelihood you'll forget you faked that variable just for testing

[–] flame3244 1 points 1 year ago (1 children)

Worse than not having a unused variable check at all? Dunno, the underscore assignment are very visible for me and stand out on every code read and review.

[–] AeonFelis 11 points 1 year ago* (last edited 1 year ago) (1 children)

Yes, worse, because now if you want to use the underscore assignment to indicate that you really want to discard that variable - it gets confused with underscore assignments that were put there "temporarily" for experimentation purpose.

[–] [email protected] 9 points 1 year ago

Exactly.

Say I'm having some issue with a function. I comment out half the function to see if that's where the weirdness is. Golang says "unused variable, I refuse to compile this dogshit!" I completely fool Golang by just using _ = foo. Yes, I was correct, that's where the problem was. I rewrite that section of the code, and test it out, things work perfectly. Only now, it turns out I'm not using foo anymore, and Golang has no idea because I so cleverly fooled it with _ = foo.

Now, something that could be caught by a linter and expressed as a warning is missed by the language police entirely, and may make it into production code.

Police the code that people put into a repository / share with others. Don't police the code that people just want to test on their own.