> We produce faster, but we don't produce the right stuff.
Same here...
We commit bad decision, then in the next PR, workaround the bad decision (instead of undoing it), then in the next PR we have to workaround (aka deal with) the initial bad decision + work around...so on and so forth...
And at any point, manually reviewing the changes becomes impossible because you have to reason about the changes keeping all the workarounds and special cases in your mind...
> workaround the bad decision (instead of undoing it)
I'm convinced that LLM-generated comments accelerate this problem, because they embed twists that a human didn't choose, and then those affect what gets generated next.
Much the same way LLM-characters don't do so well at answering "I don't know", there's a problem of them failing to cull context.
I delete all comments (except one liners that explain meanings of non-obvious constants / register values, etc.) from actual code, and just keep a plaintext README of overall current concepts/design in the given directory that has to read as a human useful prose (eg. have a defined audience, describe unfamiliar concepts first, then goals, how they are achieved, benefits/drawbacks, quirks).
Code is easier to look at/read that way. I skim the README, then read the code.
Otherwise code comments are just nuts and unmanageable, because there's no hard/enforcing feedback loop on those. They can contain anything, even non-sensical things, old information/decisions, history of development, wrong information, contradictory information, and code still compiles. There's no pressure to keep them in check.
Lint step that fails build if code contains long comments is also useful as a hard-constraint.
Same here...
We commit bad decision, then in the next PR, workaround the bad decision (instead of undoing it), then in the next PR we have to workaround (aka deal with) the initial bad decision + work around...so on and so forth...
And at any point, manually reviewing the changes becomes impossible because you have to reason about the changes keeping all the workarounds and special cases in your mind...