Reimplements a helper the project already has, under the same or another name
Code that already exists: one of the ways AI coding agents bloat software, from lessloc's pattern catalog. lessloc gives every session the rule: take what is already in the codebase before new code.
What makes reimplementing a helper the project already has a bad practice?
The standards that call it a bad practice: DRY (Hunt & Thomas, The Pragmatic Programmer); Fowler, Refactoring: Duplicated Code; CWE-1041 Use of Redundant Code; Sonar S4144.
What does lessloc do about reimplementing a helper the project already has?
lessloc gives every session the rule: take what is already in the codebase before new code. Hints name existing code before the task and inside each subagent's prompt. lessloc catches it as copy, near-copy and similar-name.
copy(tier 1): A block ofdupLinescode lines that also exists elsewhere, or a function with the same body as another under other names.near-copy(tier 2): A new function that is mostly the same code as an existing one.similar-name(tier 2): A new function whose name looks like an existing one's.
Related patterns
The other patterns in Code that already exists:
- Copying a rule another function owns: lessloc catches it as
repeated-literal. - Keeping old and new versions side by side: lessloc gives every session the rule: one implementation per rule.
- Rebuilding what the standard library or framework has: lessloc gives every session a rule against it and catches it as
simplerandreinvented. - Copy-pasted test cases instead of one parametrized test: lessloc catches it as
copied-tests. - A second library for a job an installed one already does:
new-dependencynames the library that is already installed. - The same data shape in several layers (DTO, model, entity):
copycatches identical type bodies. - The same CSS declarations under another selector: lessloc catches it as
style-copy.

