31 points
*

/********** Setting up the fkuArray **********/

fkuArray = array(…

permalink
report
reply
17 points

Well, fku that array indeed.

permalink
report
parent
reply
12 points
*

The code is self explanatory

/s needed apparently

permalink
report
reply
15 points

The words of the machine are sacred, Only the impure need explanation

permalink
report
parent
reply
5 points

It explains what it does, it does not confirm that it is what was intended.

permalink
report
parent
reply
6 points

How bad programmers comment their code. Good programmers don’t comment at all and let the code speak for itself, leaving commenting to some obscure and arcane implementation the coder left in after a week long binge on caffeine and gummy bears.

permalink
report
reply
7 points

permalink
report
parent
reply
6 points
*

This is the truth. In my experience, the people who often writes comments are also writing the most incomprehensible code.

Comments are frequently getting outdated as well, so they’re not in great help understanding the code either.

permalink
report
parent
reply
4 points

I was rewriting some old code of mine and ended up stripping out the comments. I kept reading them instead of the code, which I had been changing, and they were irrelevant. (I added new comments back in, though a big reason to rewrite was to make the code more self-explanatory.)

permalink
report
parent
reply
17 points

“What does this section of code do?”

Run it and find out, coward.

permalink
report
parent
reply
1 point

Nah. It should be obvious by just looking at it in code. If it isn’t, you haven’t extracted single purpose methods out of it yet.

permalink
report
parent
reply
2 points
*

Just having clear and concise variable names often goes a long way. Avoid using abbreviations.

Breaking out the code into functions helps limit the number of variables within a scope, which makes it easier to name them.

permalink
report
parent
reply
11 points
*

Code should absolutely speak for itself. But the occasional comment is still good to explain the ‘why’ of the code when the why isn’t very obvious, often due to a niche requirement. Also any time you have to break out a hack, that needs comments up the ass, what was the bug, what URL did you find the fix at, why does this hack work, etc etc. It’s very satisfying to go back and remove those hacks after they are no longer needed, often because the underlying technology fixed the bug that had to be hacked around.

permalink
report
parent
reply
2 points

Yeah, hence me mentioning the arcane code nobody knows what it does.

permalink
report
parent
reply
2 points
*

It definitely feels great when I get to remove the

//hack abc due to bug in library xyz version 1.4.5, issue tracker says it’s fixed in 1.5.0. - link

permalink
report
parent
reply
130 points

Best comment ever was “It used to work like this but person at client demanded it work like that on this date” when the client complained it shouldn’t work like that.

permalink
report
reply

The best comments are “why” comments, the runner up is “how” comments if high-level enough, and maybe just don’t write “what” comments at all because everyone reading your code knows how to read code.

permalink
report
parent
reply
135 points

That’s basically what comments are most useful for. When you’re doing something that’s not obvious, and want to make sure the “why” doesn’t get lost to time.

permalink
report
parent
reply
96 points

// I'm not really that dumb, there is a reason.

permalink
report
parent
reply
43 points

// narrator: the reason was management

permalink
report
parent
reply
37 points
*
// I told them I'd do this but only if they gave me time next sprint to fix it  - 12-03-1997
permalink
report
parent
reply
14 points

I spent a year making my company’s iOS apps accessible (meaning usable for the blind and people with vision disabilities). I had to do a lot of weird shit either because of bugs in Apple’s VoiceOver technology or because of the strange way in which our code base was broken up into modules (some of which I did not have access to) and I would always put in comments explaining why I was doing what I was doing. The guy doing code review and merges would always just remove my comments (without any other changes) because he felt that not only were comments unnecessary but also they were a “code smell” indicating professional incompetence. I feel sorry for whoever had to deal with that stuff at a later point.

permalink
report
parent
reply
2 points

Well, this is shitty

I hope the reviewer did not also squash commits, and the next programmer would be able to at least dig what was there.

Doing changes after some rockstar dev implemented some really complex service, but left no clues as to what does what is so frustrating, and I can never be sure that I don’t break anything in a different place completely

permalink
report
parent
reply

this seems like a great idea as it provides proof in writing just in case the stakeholder complains later on about the thing you implemented at their request

permalink
report
parent
reply
13 points

That’s actually the perfect comment, because if anyone ever comes back to fuck with you about it, it’s explained right there. Then you turn it right back around on management and watch them run around like chickens with their heads cut off.

permalink
report
parent
reply
1 point

Out management used to tell us, that even if head of department had committed to doing something some way, there’s no way or need to hold them accountable. It’s just that situation has changed, and nobody should bat an eye.

To be fair, they also did not pressure us much for the missed deadlines or missing features, because it was indeed the result of the situation described in the first paragraph

permalink
report
parent
reply
1 point

I was porting our old code from PHP to Go at a previous company. I laughed as I copied my then-six-year-old comment “I’m promised by xxxxx that this is a temporary measure <link to slack convo>”.

permalink
report
parent
reply
73 points

Comments should explain “why”, the code already explains “what”.

permalink
report
reply
63 points
*

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

permalink
report
parent
reply
15 points

Absolutely, although I see that as part of why

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

permalink
report
parent
reply
4 points

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.”

permalink
report
parent
reply
5 points

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

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply
5 points

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.

permalink
report
parent
reply
3 points

“Smart”

permalink
report
parent
reply
1 point
*

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

permalink
report
parent
reply
28 points

Inline comments yes.

Function/Class/Module doc comments should absolutely explain “what”.

permalink
report
parent
reply
8 points

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

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

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

Community stats

  • 2.5K

    Monthly active users

  • 866

    Posts

  • 14K

    Comments