I absolutely agree that those things should take priority, but I think those things can only go so far and there's a threshold of complexity beyond which there will always be some benefit to comments. You can absolutely reduce the need for 'signposts' if you avoid creating a maze.
As others have said, you didn't always build the maze. Or you built a lovely intuitive path and then were hit with an unexpected new requirement that forced you to add twisty little passages. Or, like me, you're not a perfect being and had to compromise based on some complication you didn't expect.
I'm afraid this all gets thrown out the window nowadays.
Unless I tell them not to, LLMs lean on slapping verbose comments of the worst kind - describing the code instead of the reasons for putting it there.
I ask them to write comments in ASD-STE100 Simplified Technical English, but all I really get from that is tersness.
Also the other day I stumbled upon a huge pile of documentation and I'm still trying to figure out if it's human or machine written. I stopped reading it half way through as I figured that perhaps it wasn't written for humans to read.
> Typically keep comments on a single line without line breaks — if a comment is useful, developers will scroll to read them, if it’s not they can easily scroll past it.
Disagree. Personally that sounds like a massive barrier to reading the comment to me. Limited width column text is generally regarded as easier to read, make your comments easier to read. Especially as I probably have the code open in a limited width window, as that's what I expect from code.
Yeah, this particular bullet point almost made me stop reading the rest of the article thinking that the author has zero idea what the hell they're on about...
I disagree with the overall sentiment of this article. I wouldn't say comments are never useful, because they certainly can be. But once verbose commenting becomes the norm, people (and now especially LLMs) will overuse them, making the code unnecessarily obtuse and difficult to read. And the point about maintenance is real.
There are also a couple of 'pointless' statements in the article itself:
> "Use a combination of in-line and standalone comments, depending on the situation"
The point of that statement was to run counter to the standards of "always us X type of comments" that some teams adopt. My suggestion is that there isn't a "correct" type of comment that you should always use, but rather that it's highly situational.
It's really a parallel to grammar in any other kind of language - there isn't a singular 'correct' way to structure a piece of writing into paragraphs, but it's also typically incorrect to treat each sentence as a paragraph or to avoid paragraphs entirely and write everything as a single block of text.
It's unthinkable that a team of writers would ever try to standardise on "never use paragraphs" or "every line is a paragraph", but some programming teams do exactly the equivalent of that!
Hello, I am that person. I have been programming for a long time, but I'm not trying to make any claims that my experience means I know any better. The claim is simply that modern coding practices often produce code that is difficult to navigate and that useful comments and documentation can deliver great benefits.
I do make some suggestions on how to approach those things, but they're simply suggestions based on my own experience, I'm not trying to assert any kind of absolute correct approach.
I use Ag integrated in the editor all the time. But while it is indispensable for me, I wouldn't say that this helps in all situations, nor is it the best tool to find connections in many situations.
When code is a maze describes my 1988 IOCCC entry [1]
[1] https://tromp.github.io/pearls.html#mazeVery cool, thanks for sharing!
If, like me, you're trying to compile it, don't forget to set the
flag in gcc, so: Then run it as:Smart developers don’t write mazes.
> In code, comments are our signposts
No. Naming and good architecture are. Intuitive folder trees. Concise docs. Clear separation of concerns such that naming can suffice.
The more comments you need to ‘map’ your code, the worse of a job you’ve done.
I absolutely agree that those things should take priority, but I think those things can only go so far and there's a threshold of complexity beyond which there will always be some benefit to comments. You can absolutely reduce the need for 'signposts' if you avoid creating a maze.
As others have said, you didn't always build the maze. Or you built a lovely intuitive path and then were hit with an unexpected new requirement that forced you to add twisty little passages. Or, like me, you're not a perfect being and had to compromise based on some complication you didn't expect.
> Smart developers don’t write mazes.
You don’t choose what your forebears have written, though.
Everyone disagrees about Good Architecture and it changes with new technologies btw
Years ago I worked on a project that had a n tier architecture and facade pattern for the frontend
It was good architecture for the lead developer who set it up but bad for the new team who need to update the tech
So comments and docs are both valuable
Nowadays with AI the calculus has changed once more
I'm afraid this all gets thrown out the window nowadays.
Unless I tell them not to, LLMs lean on slapping verbose comments of the worst kind - describing the code instead of the reasons for putting it there.
I ask them to write comments in ASD-STE100 Simplified Technical English, but all I really get from that is tersness.
Also the other day I stumbled upon a huge pile of documentation and I'm still trying to figure out if it's human or machine written. I stopped reading it half way through as I figured that perhaps it wasn't written for humans to read.
> Typically keep comments on a single line without line breaks — if a comment is useful, developers will scroll to read them, if it’s not they can easily scroll past it.
Disagree. Personally that sounds like a massive barrier to reading the comment to me. Limited width column text is generally regarded as easier to read, make your comments easier to read. Especially as I probably have the code open in a limited width window, as that's what I expect from code.
Yeah, this particular bullet point almost made me stop reading the rest of the article thinking that the author has zero idea what the hell they're on about...
What? You don't like horizontally scrolling 6000 columns to read something?
https://en.wikipedia.org/wiki/Code_folding
Who doesn’t have soft wrapping enabled in 2026? Line breaks are irrelevant
I disagree with the overall sentiment of this article. I wouldn't say comments are never useful, because they certainly can be. But once verbose commenting becomes the norm, people (and now especially LLMs) will overuse them, making the code unnecessarily obtuse and difficult to read. And the point about maintenance is real.
There are also a couple of 'pointless' statements in the article itself:
> "Use a combination of in-line and standalone comments, depending on the situation"
isn't that just every kind of comment?
(I am the author)
The point of that statement was to run counter to the standards of "always us X type of comments" that some teams adopt. My suggestion is that there isn't a "correct" type of comment that you should always use, but rather that it's highly situational.
It's really a parallel to grammar in any other kind of language - there isn't a singular 'correct' way to structure a piece of writing into paragraphs, but it's also typically incorrect to treat each sentence as a paragraph or to avoid paragraphs entirely and write everything as a single block of text.
It's unthinkable that a team of writers would ever try to standardise on "never use paragraphs" or "every line is a paragraph", but some programming teams do exactly the equivalent of that!
Sounds good. I've lost count of how many mazes I've made. Just call me the Architect of the Labyrinth.
Once again I am asking, who is this person and why do they think they are qualified to tell me what's best?
Hello, I am that person. I have been programming for a long time, but I'm not trying to make any claims that my experience means I know any better. The claim is simply that modern coding practices often produce code that is difficult to navigate and that useful comments and documentation can deliver great benefits.
I do make some suggestions on how to approach those things, but they're simply suggestions based on my own experience, I'm not trying to assert any kind of absolute correct approach.
You don’t need maps. You need search. Introducing: ripgrep.
I use Ag integrated in the editor all the time. But while it is indispensable for me, I wouldn't say that this helps in all situations, nor is it the best tool to find connections in many situations.