This mindset is good, but unfortunately enforces bad programmers to leave their undocumented code in critical places where someone eventually has to figure out what the hell they were doing or refactor the whole damn thing because they got promoted to middle-management and can’t remember why they even wrote it.
This is something that is always stated by people who are opposed to comments, but I’ve never seen any such thing in practice. If being mislead by incorrect comments is so common, there should be a bunch of stories around about disasters caused by them - and I’ve never read a single such story.
One example was when a method’s documentation said that it would throw a certain exception. Turns out it was actually throwing a different exception (deep into the code), so no wonder why we never captured it in time.
If the comments tell you “what” happens, then yes, they can geht outdated fast. The details of how something works can change quickly.
But comments documenting “why” something is done (a certain way) - explaining the intent - are probably valid for mich longer.
In the best case comments aren’t viewed as something that is seperate from the code, but part of it. So that if someone changes the code, the comments has to be checked aswell (if the explanation of “why” something is done actually changed).
This mindset is good, but unfortunately enforces bad programmers to leave their undocumented code in critical places where someone eventually has to figure out what the hell they were doing or refactor the whole damn thing because they got promoted to middle-management and can’t remember why they even wrote it.
Chances are that the comments quickly turn out of date and become incorrect. Misleading comments is worse than no comments.
This is something that is always stated by people who are opposed to comments, but I’ve never seen any such thing in practice. If being mislead by incorrect comments is so common, there should be a bunch of stories around about disasters caused by them - and I’ve never read a single such story.
I’ve seen it. That’s why I’m opposed to comments unless they really bring value (like explaining the why instead of the what).
OK, so let’s hear your story about how misleading comments caused a major (or even a minor) problem.
One example was when a method’s documentation said that it would throw a certain exception. Turns out it was actually throwing a different exception (deep into the code), so no wonder why we never captured it in time.
If the comments tell you “what” happens, then yes, they can geht outdated fast. The details of how something works can change quickly.
But comments documenting “why” something is done (a certain way) - explaining the intent - are probably valid for mich longer.
In the best case comments aren’t viewed as something that is seperate from the code, but part of it. So that if someone changes the code, the comments has to be checked aswell (if the explanation of “why” something is done actually changed).
We shouldn’t waste time documenting our code when we need so much of that time breaking our code