Move Method, Extract Class, Move Field , and Extract Method
I1.3. Refactorings Not Mentioned
It's a long list. Some are just code manipulation; it's not that either way smells, but rather the refactoring provides a safe way to move between two valid alternatives. Others are a bit specialized ( especially the "big" refactorings). Others are used as steps in applying another refactoring; the smell for the other refactoring triggers this one.
I1.4. Other Smells
Everybody's list will be different. I added these:
Intertwined Model and UI ” Duplicate Observed Data, Separate Domain from Presentation
Cast ” Encapsulate Downcast
Unclear Communication ” Remove Assignment to Parameter, Replace Error Code with Exception, Replace Exception with Test, Replace Magic Number with Symbolic Constant, Split Temporary Variable
Conditional Logic ” Consolidate Conditional Expression, Consolidate Duplicate Conditional Expression, Introduce Null Object, Replace Error Code with Exception, Replace Exception with Test, Replace Nested Conditional with Guard Clause, Replace Conditional with Polymorphism.