I hightly recommend this article:
Why You Should Polish Your Code
Résumé of problems you should look for while polishing your code:
- Duplication of logic in two or more places.
- Undesired dependencies.
- Overly complex logic, like a large switch statement or series of nested if-else statements.
- Too many classes within one package.
- Too many methods within a class, particularly public methods.
- Overly long file, in excess of a couple thousand lines.
- Overly long methods.
- Poorly named classes, methods, fields or local variables.
- Lack of a class comment.
- Violation of the principle Single Responsibility
- find more at http://www.xprogramming.com/