Comments that narrate what the code does ("Loop through the users")
Comments and text: one of the ways AI coding agents bloat software, from lessloc's pattern catalog. lessloc catches it as narration.
What makes comments that narrate what the code does a bad practice?
The standards that call it a bad practice: Clean Code C3 Redundant Comment and Noise Comments; McConnell, Code Complete §32.4 (a comment that repeats the code is not acceptable in finished code); Ousterhout: Comment Repeats Code.
What does lessloc do about comments that narrate what the code does?
lessloc catches it as narration. Comments that give a reason are kept.
narration(tier 3): Comments that narrate the code, decorate it or restate a name, closing-brace comments, and log lines that narrate each step.
Examples
Caught as narration:
python
def total(xs):
# Loop through the items and add them up
return sum(xs)Written well:
python
def total(xs):
# Refunds are negative, so the sum is already net
return sum(xs)Related patterns
The other patterns in Comments and text:
- Banners, dividers, closing-brace comments, emoji decoration: lessloc catches it as
narration. - Docs that restate the name: lessloc catches it as
narration. - History and messages to the requester: lessloc catches it as
history. - Comment blocks and comment-heavy changes: lessloc catches it as
comment-blockandcomment-density. - Log lines that narrate each step: lessloc catches it as
narration(three or more in a file). - Docs that still name what a change removed: lessloc catches it as
stale-doc. - Summary, report and notes files: lessloc catches it as
junk-fileand refuses it before it lands. - Doc files and README growth nobody asked for: lessloc catches it as
unrequested-doc. - Docs deleted wholesale to shrink a change: lessloc catches it as
doc-removed. - Always-loaded instructions that grow: lessloc catches it as
long-instructions. - Commit messages that recap the diff file by file: The commit hook warns when a message lists the files the diff shows.

