1503
submitted 1 week ago by [email protected] to c/[email protected]
top 50 comments
sorted by: hot top controversial new old
[-] Honytawk 226 points 1 week ago

Same with BIOS descriptions.

FGTSAB switch [toggles the FGTSAB setting]

infuriating

[-] [email protected] 37 points 1 week ago
[-] [email protected] 35 points 1 week ago

It's so bad it's almost artistic

load more comments (4 replies)
[-] [email protected] 12 points 1 week ago

Yup, my first thought as well. While those days are thankfully over, those braindead BIOS "help" messages remain etched into my mind forever.

load more comments (3 replies)
load more comments (1 replies)
[-] [email protected] 126 points 1 week ago

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.

[-] [email protected] 135 points 1 week ago

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.

[-] [email protected] 93 points 1 week ago

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

[-] [email protected] 41 points 1 week ago

// narrator: the reason was management

[-] [email protected] 36 points 1 week ago* (last edited 1 week ago)
// I told them I'd do this but only if they gave me time next sprint to fix it  - 12-03-1997
[-] [email protected] 15 points 1 week ago

[flashbacks to the backlog being wiped out because “the client already signed off on the release”]

[-] [email protected] 12 points 1 week ago

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.

load more comments (2 replies)
[-] [email protected] 66 points 1 week ago

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.

[-] [email protected] 16 points 1 week ago

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

load more comments (3 replies)
[-] [email protected] 112 points 1 week ago
/*
 * Gets stupidFuckingInteger
 *
 * @returns stupidFuckingInteger
*/
public double getStupidFuckingInteger() {
    return stupidFuckingInteger;
}

[-] [email protected] 36 points 1 week ago* (last edited 1 week ago)

The lack of a return type declaration makes this sooo good.

[-] [email protected] 29 points 1 week ago* (last edited 1 week ago)

It has the return type declared to be double.

[-] [email protected] 19 points 1 week ago

I cannot read. Even better.

[-] [email protected] 17 points 1 week ago

This being a double physically hurts

[-] [email protected] 15 points 1 week ago

Makes sense, people looking for int would find a double

load more comments (2 replies)
[-] [email protected] 76 points 1 week ago* (last edited 1 week ago)

//@TODO document this function later

15 years later

load more comments (1 replies)
[-] [email protected] 70 points 1 week ago

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

[-] [email protected] 60 points 1 week ago* (last edited 1 week ago)

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 week ago

Absolutely, although I see that as part of why

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

load more comments (2 replies)
[-] [email protected] 27 points 1 week ago

Inline comments yes.

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

load more comments (3 replies)
load more comments (4 replies)
[-] [email protected] 61 points 1 week ago

I had a old job that told me that code is "self documenting" if you write it "good enough". And that comments were unnecessary.

It always annoyed the heck out of me. Comments are imo more helpful than hurtful typically.

Is it just me? Or am I weird? Lol.

[-] [email protected] 49 points 1 week ago* (last edited 1 week ago)

Document intentions and decisions, not code.

[-] [email protected] 38 points 1 week ago

Code should always by itself document the "how" of the code, otherwise the code most likely isn't good enough. Something the code can never do is explain the "why" of the code, something that a lot of programmers skip. If you ever find yourself explaining the "how" in the comments, maybe run through the code once more and see if something can be simplified or variables can get more descriptive names.

For me, that's what was originally meant with self-documenting code. A shame lazy programmers hijacked the term in order to avoid writing any documentation.

[-] [email protected] 14 points 1 week ago

lazy programmers

I don't think they're lazy, I think they're not good writers. Not being able to write well is very common among programmers (not having to communicate with written language is one reason a lot of people go into coding) and in my experience the Venn diagrams for "not a good writer" and "thinks comments are unnecessary" overlap perfectly.

[-] [email protected] 1 points 6 days ago

And isn't it such a dangerous overlap! The coder whose writing (in their native language) is unclear, repetitive, convoluted, or hard to follow too often produces code with the same qualities. It's even worse when the same coder believes "code is self-documenting" without considering why. Code self-documents with careful and deliberate effort, and in my experience, it is the really good writers who are most capable of expressing code in this way.

[-] [email protected] 27 points 1 week ago* (last edited 1 week ago)

Comment should describe "why?", not "how?", or "what?", and only when the "why?" is not intuitive.

The problem with comments arise when you update the code but not the comments. This leads to incorrect comments, which might do more harm than no comments at all.

E.g. Good comment: "This workaround is due to a bug in xyz"

Bad comment: "Set variable x to value y"

Note: this only concerns code comments, docstrings are still a good idea, as long as they are maintained

load more comments (2 replies)
[-] [email protected] 13 points 1 week ago

Code is the what. Comments are the why.

Few things worse than an out of date comment.

[-] [email protected] 11 points 1 week ago* (last edited 1 week ago)

In my opinion, it strongly depends on what you're coding.

Low-level code where you need to initialize array indices to represent certain flags? ~~Absolutely comment the living shit out of that.~~ → See response.
High-level code where you're just plumbing different libraries? Hell no, the code is just as easily readable as a comment.

I do also think that, no matter where you lie in this spectrum, there is always merit to improving code to reduce the need for documentation:

  • Rather than typing out the specification, write a unit/integration test.
  • Rather than describing that a function should only be called in a certain way, make it impossible to do it wrongly by modelling this in your type system.
  • Rather than adding a comment to describe what a block of code does, pull it out into a separate function.
  • Rather than explaining how a snippet of code works, try to simplify it, so this becomes obvious.

The thing with documentation is that it merely makes it easier to learn about complexity, whereas a code improvement may eliminate this complexity or the need to know about it, because the compiler/test will remember.

This does not mean you should avoid comments like they're actively bad. As many others said, particularly the "why" is not expressable in code. Sometimes, it is also genuinely not possible to clean up a snippet of code enough that it becomes digestable.
But it is still a good idea, when you feel the need to leave a comment that explains something else than the "why", to consider for a moment, if there's not some code improvement you should be doing instead.

load more comments (3 replies)
load more comments (15 replies)
[-] [email protected] 49 points 1 week ago

I write such comments because I have to.

Company policy.

Also we have to specify every line of code and what it should do.......

[-] [email protected] 55 points 1 week ago

Lol leave. That is so many levels of braindead.

[-] [email protected] 26 points 1 week ago

I would smash everything into a handful of overly-complicated lines.

[-] [email protected] 12 points 1 week ago

I loved doing this is school, just trying to mess up my teachers.

load more comments (2 replies)
load more comments (9 replies)
[-] [email protected] 30 points 1 week ago* (last edited 1 week ago)

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

fkuArray = array(...

[-] [email protected] 17 points 1 week ago

Well, fku that array indeed.

[-] [email protected] 18 points 1 week ago

Good code is self-explanatory. You should only comment your code if it does something unexpectedly complicated.

That being said, it's always a good idea to write a manual, about how to use the code. Don't document how it works, because those who can code will understand it anyways, and those who can't, have no need to understand it.

[-] [email protected] 34 points 1 week ago

Good code is self-explanatory. You should only comment your code if it does something unexpectedly complicated.

The code shows what is being done. The comments should explain the why.

[-] [email protected] 14 points 1 week ago* (last edited 1 week ago)

Yes. This 1000x. I hate it at work when I come across code that was written 3 years ago that has literally no traces of why it's there and a quick summary of what it does. Especially because that code is always the most abbreviated spaghetti you've ever seen. People should stop thinking (their) code documents itself because 99.999% of programmers cannot do it right.

I really like the Google way of coding: assume the person reading the code is the most 1337 programmer ever, BUT that this person knows absolutely nothing about the project

load more comments (1 replies)
load more comments (1 replies)
[-] [email protected] 13 points 1 week ago

Hard disagree. It's a lot easier and faster to understand a function that is prefaced with a small line of text explaining what it does rather than trying to figure it out yourself.

It's not about whether you can understand the code or not, it's about efficiency and clarity.

load more comments (11 replies)
load more comments (3 replies)
[-] [email protected] 16 points 1 week ago

I got a media failed to load error at first and thought that was the joke

load more comments (1 replies)
[-] [email protected] 16 points 1 week ago
load more comments (2 replies)
[-] [email protected] 12 points 1 week ago* (last edited 1 week ago)

The code is self explanatory

/s needed apparently

[-] [email protected] 15 points 1 week ago

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

The Flesh is Weak

load more comments (1 replies)
load more comments
view more: next ›
this post was submitted on 06 Jul 2024
1503 points (99.4% liked)

Programmer Humor

18396 readers
517 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