This is a tutorial series for 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 posts in this series:


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

Long parameter list
Long method
Large class
Primitive obsession

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.

Switch statements


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

Dead code

One thought on “Code smells

  1. Pingback: Programming blogs that don't suck - Methodical Programmer

Leave a Reply