ENGLISH
REFERENCE

code smell

compound.
C1 Advanced Software Engineering
Definition

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.


SIMPLE

Having a single function that is 500 lines long is a classic code smell.

CONTEXTUAL

The senior developer pointed out several code smells during the review, noting that the duplicated logic would make future updates very difficult.

COMPLEX

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.

Origin

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.

Usage

Commonly used in the context of refactoring and software craftsmanship; often paired with the verb 'detect' or 'identify'.

Last updated July 22, 2026