Code Smell
Whenever creating a subclass for one class, we find ourselves needing to create a subclass for another class
Causes
Treatment
Code Smell
Unused class, method, field, or parameter.
Causes
Treatment
Code Smell
A method accesses data of other objects more than its own class data
Causes
Treatment
Code Smell
A library does not quite meet our needs, but changing it is impossible
Causes
Treatment
Refactoring is a technique to improve code clarity
Refactoring catalogs