this post was submitted on 20 Aug 2023
1225 points (98.9% liked)

Programmer Humor

19512 readers
375 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
[–] BravoVictor@programming.dev 12 points 1 year ago (3 children)

I mean… you gotta have them start the habit somehow

[–] Gallardo994@sh.itjust.works 20 points 1 year ago (2 children)

Let's face it, such comments usually cause more problems than do good. If someone changes the code and forgets to modify the comment, the reader might favor one or another at random. "Stop sign" example isn't the best but you get my point.

Comments at best should explain some non-obvious logic, or some sort of reasons for implementing one way or another. For SDKs and packages overall, public APIs should also be commented. The rest imo should be readable from code.

[–] spader312@lemmy.world 10 points 1 year ago

A form of "self documentation" I like to do is create variables for conditions before using it in an if statement. If you break down a funky conditional into easy to read variables it becomes a lot more clear what it's trying to do.

Idk how to write code on sync:

const isHumid = xxxx;
const isHot = yyyy;
const isSunny = zzzzz;

If (isHot && isHumid && isSunny) {
    ...
}

If someone changes the code and forgets to modify the comment, the reader might favor one or another at random.

Hence why you should comment why, not how/what.

// slow down traffic before crossing busy main road

Now you can change the stop sign to a yield without touching the comment. Or judge that the comment can be removed if it's clear the main road does no longer exist.

[–] _danny@lemmy.world 11 points 1 year ago

Bad/wrong documentation is worse than no documentation.

"Practice makes perfect" is only true if you're practicing the right stuff. Otherwise you're just reinforcing bad habits.