Code Smells

A code smell is a noticeable indication that there might be something wrong with the code. Code smells should be quick and easy to spot. They do not always indicate a problem but they point you to a direction to look deeper.

Each of the code smells have some kind of symptoms, cause, suggested solutions and benefits. The solutions described here include refactoring which might be a topic for a completely different tutorial. However, simple examples of refactoring are provided here also.

Here are the articles in this series:


Bloater smells represents something that has grown so large that it cannot be effectively handled.

Object-orientation abusers

The common denominator for the smells in the Object-Orientation Abuser category is that they represent cases where the solution does not fully exploit the possibilities of object-oriented design.


The common thing for the Dispensable smells is that they all represent something unnecessary that should be removed from the source code.