this post was submitted on 20 Aug 2023
1262 points (99.0% liked)

Programmer Humor

19623 readers
72 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] 18 points 1 year ago (2 children)

I disagree. When comments are essentially just a rephrasing of the class/method name or arguments it is not helpful and anything that is not helpful is cluttering up the code and making it harder to quickly see what the code is doing. I'd rather have no comments than comments like that.

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (2 children)

I reserve comments for explaining why a section of code is needed or explaining how a complex algorithm works.

i = 0; // Set i to 0 is pointless.

if (last_output_vertex[i] == bounds[i]->length - 1) contibuting_bounds[I] = NULL; // stop outputting a bound if the entire bound has been output is helpful.

[–] [email protected] 7 points 1 year ago (1 children)

Comments can also be useful for explaining what the code is intended to do when debugging.

"Hey this function says it should return the number of apples, but looks like someone, not saying who, but someone had a brain fart and typed oranges in one variable. Who wrote this code anyway?"

-Last edited by JonEFive in 2021-

Past me sucks.

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

I think even the second comment is not that helpful.

Just use (boolean) variables that phrase what your comment would explain, often more concise and better to read IMO. Also if the logic is more complex compose multiple named (boolean) variables. I think comments seldom make any sense at all (function doc is a one of the rare cases, mostly for the user of the library in the IDE).

[–] farsightxr20 5 points 1 year ago

Not to mention the code and comment will inevitably become inconsistent with each other whenever someone forgets to update both.