Martin Fowler on sniffing out bad code:

A code smell is a surface indication that usually corresponds to a deeper problem in the system. The term was first coined by Kent Beck while helping me with my Refactoring book. The quick definition above contains a couple of subtle points. Firstly a smell is by definition something that’s quick to spot - or sniffable as I’ve recently put it.

I especially like the “smell of the week” teaching suggestion.

This was previously published at and was retrieved from the Internet Archive.