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 http://blog.sockdrawer.org and was retrieved from the Internet Archive.