Smelly is a plug-in to the Integrated Development Environment - IDE Eclipse which detects automatically bad smells in JAVA code.
Smelly can be very useful in the software development.
The atual Smelly version detects these bad smells:
A class has fields and acessor methods, nothing more.
A God Class is a large class which implements a number of the systems functionality.
A God Methos is a large method, it gets out of control becoming impossible to maintain or understand.
When there are a lot of comments in a code, it is bad or illegible.
Long parameter lists are hard to understand, they are difficult to use because they tend to change all the time. Long parameter lists are reminiscent of the procedural programming, where parameters were a proper alternative to global data.
The use of switch statements is in almost all cases a clear symptom of a non object-oriented design, in which polymorphism is ignored.