Software Engineering · Code Quality
A surface-level pattern in code — not a bug by itself — that often signals a deeper design problem worth investigating.
Example: A function with ten parameters isn't broken, but it smells like it's doing too much.
In practice: Linters and static analysis tools are largely built to flag common smells automatically, though judgment is still needed to decide which ones actually matter for a given codebase.