this post was submitted on 06 Jul 2024
1529 points (99.4% liked)

Programmer Humor

18961 readers
1015 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] 72 points 1 month ago (4 children)

Comments should explain "why", the code already explains "what".

[–] [email protected] 61 points 1 month ago* (last edited 1 month ago) (3 children)

The allowable exception is when the what is a what the fuck, as in you had to use a hack so horrible that it requires an apology comment

[–] [email protected] 15 points 1 month ago

Absolutely, although I see that as part of why

Why is there a horrible hack here? Because stupid reason...

[–] [email protected] 5 points 1 month ago

Or if the what is so cryptic and esoteric that it would require the reader a couple hours of research to understand it.

Also, I find it useful to summarise the what before code blocks if that can't be summarised in a function name

[–] [email protected] 4 points 1 month ago

Describing the what also helps when you dabble in a new technology or little-used technology. It helps to explain to yourself what you’re doing and it helps in onboarding. “Hey, newbie, there’s a function in XYZ module that’s extensively documented. Look there for guidance.”

[–] [email protected] 27 points 1 month ago (2 children)

Inline comments yes.

Function/Class/Module doc comments should absolutely explain "what".

[–] [email protected] 8 points 1 month ago (1 children)

You are absolutely right. It was inline comments I had in mind.

[–] [email protected] 6 points 1 month ago

I don't code, at best I script. I'm a sysadmin, not a dev, so I play around in PowerShell mostly.

I just started to naturally do all of this. Not because I was taught to, but because I've written too many scripts that I later looked at, and thought, WTF is going on here.... Who tf wrote this? (Of course it was me)...

So instead of confusing my future self, I started putting in comments. One at the beginning to describe what the file name can't, and inline comments to step me through what's happening, and more importantly why I did what I did.

The sheer number of comments can sometimes double the number of lines in my script, but later when I'm staring into the abyss of what I wrote, I appreciate me.

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

I agree.

I usually think of that as documentation, not comments.

But even so, the code should say what it does, with a good name. The documentation adds details.

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

Unless you're working with people who are too smart, then sometimes the code only explains the how. Why did the log processor have thousands of lines about Hilbert Curves? I never could figure it out even after talking with the person that wrote it.

[–] [email protected] 3 points 1 month ago
[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

If you know how the code does something, you also know what it does.