“In computer programming, a code smell is any characteristic in the code that potentially indicates a deeper problem … Code smells are usually not bugs; they are not technically incorrect and do not prevent the program from functioning. Instead, they indicate weaknesses in design that may slow down development or increase the risk of bugs or failures in the future.”
Smells can occur at any level of the design or code and the article thankfully lists:
- 7 Application-level smells
- 10 Class-level smells
- 7 Method-level smells.
If you want to “deodorize” your code, this article is a great place to start!