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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I think that's even worse because it increases the likelihood you'll forget you faked that variable just for testing
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.
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.
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 usingfoo
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.