upvote
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.

reply