code smell
compound.compound. a sign in a computer program's code that suggests there might be a deeper problem. It is not a bug that stops the program, but it shows the code is poorly designed and might cause trouble later.
compound. a surface indication in a program's source code that suggests a deeper design flaw or architectural weakness. While not a functional error, it identifies patterns that typically lead to technical debt or maintenance difficulties.
Having a single function that is 500 lines long is a classic code smell.
The senior developer pointed out several code smells during the review, noting that the duplicated logic would make future updates very difficult.
Identifying a code smell early in the development cycle allows teams to refactor the architecture before the underlying structural issues become too deeply embedded to fix easily.
Coined by Kent Beck in the late 1990s, the term employs a sensory metaphor to describe structural weaknesses in software. It was later formalised in Martin Fowler's 1999 text on refactoring.
Etymology adapted from Wiktionary, available under CC BY-SA 4.0.
Commonly used in the context of refactoring and software craftsmanship; often paired with the verb 'detect' or 'identify'.
Last updated July 22, 2026