Interlude 1. Smells and Refactorings
| | | | | I1.2. Refactorings that Fix the Most Smells | 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.
|
|