Code Smells

Common problems that arise in code

The term “code smell” was introduced in a book by Martin Fowler, in a chapter he co-authored with Kent Beck (the designer of JUnit) in a book called “Refactoring: Improving the Design of Existing Code”.

In Fowler’s book, he introduces twenty-two specific “code smells”, along with specific guidance for fixing the smelly code and replacing it with better code.

Since that time, the phrase “code smell” has taken on a much broader sense: basically anything about your code that someone looking at it doesn’t like.

Ok, maybe that was a bit snarky. The point is that “code smell” originally had a very technical, specific meaning, and it would be nice to to reclaim some of that meaning.