function process(data: any) {
const result = data.map((item: any) => item.value * 2)
return result
}
Deterministic AST match against a placeholder-name list, scoped to declarations the rule can rename safely.
Variables and parameters named `data`, `result`, `value`, `temp`, `obj`, `info`, `item`. Names that say "this is a noun" without saying which noun.
Each example shows the exact code shape the rule is looking for, then the smallest version that keeps the intent without hiding risk or adding noise.
function process(data: any) {
const result = data.map((item: any) => item.value * 2)
return result
}
Deterministic AST match against a placeholder-name list, scoped to declarations the rule can rename safely.
function doublePrices(products: Product[]): number[] {
return products.map(product => product.price * 2)
}
Rename values around their domain role: `products`, `invoiceTotal`, `retryPolicy`, `parsedUser`. Remove `any` when the name is generic because the type was never modeled.
Without seeing how the value is used downstream, agents fall back to generic placeholders. The reader has to infer the role from context — every time.
ai-slop/generic-naming
ai-slop
Deterministic AST match against a placeholder-name list, scoped to declarations the rule can rename safely.
Conventional loop indices, generic type parameters, and short-lived locals in trivial scopes are not flagged.
Naming-verbosity signals derive from SlopCodeBench, which tracked structural erosion in long-horizon tasks.