My favorite thing about the “all comments are bad” crowd is that their first example is almost always something like this:
// Add 1 to x
x = x + 1
Like, nobody that thinks comments are good and important would ever add a useless comment like that. The point of commenting is to add documentation (usually the only form of documentation that a future developer is ever going to read) only to code that would otherwise be inscrutable.
You’d think that, and yet I’ve once worked in a project in a fortune 500 company that basically wouldn’t even compile if we didn’t add comments like that.
No kidding the compiler enforced specific comment patterns so if you had a line do x = x + 1, it would not compile if it was not preceded by a comment that started with “Add” and included “1” and “to x”. Even in dev mode if you wanted to just try something you had to comment everything.
The original dev was super proud of this tools that generated HTML documentation about everything based on those comments. And the whole documentation was stuff like:
My favorite thing about the “all comments are bad” crowd is that their first example is almost always something like this:
// Add 1 to x x = x + 1Like, nobody that thinks comments are good and important would ever add a useless comment like that. The point of commenting is to add documentation (usually the only form of documentation that a future developer is ever going to read) only to code that would otherwise be inscrutable.
You’d think that, and yet I’ve once worked in a project in a fortune 500 company that basically wouldn’t even compile if we didn’t add comments like that. No kidding the compiler enforced specific comment patterns so if you had a line do
x = x + 1, it would not compile if it was not preceded by a comment that started with “Add” and included “1” and “to x”. Even in dev mode if you wanted to just try something you had to comment everything.The original dev was super proud of this tools that generated HTML documentation about everything based on those comments. And the whole documentation was stuff like:
*price*: The priceEvery good idea can be taken to a ridiculous extreme.
and that… is ridiculous.