整理了一下,有助于对代码进行refatoring。
Smells Within Classes
smells
refactoring
Comments
Long Method
Extract Method.
Large Class
Extract Class
Extract Subclass
Long Parameter List
Replace Parameter with Method
Preserve Whole Object
Introduce Parameter Object.
Smells Between Classes
Smells category
smells
refactoring
Data
Primitive Obsession
Replace Data Value with Object
Replace Type Code with Class
Replace Type Code with Subclasses
Replace Type Code with State/Strategy.
Data Class
Data Clump
Extract Class
Introduce Parameter Object
Preserve Whole Object
Temporary Field
Extract Class
Introduce Null Object
Inheritance
Refused Bequest
Push Down Method
Push Down Field
Replace Inheritance with Delegation
Inappropriate Intimacy (Subclass Form)
Self Encapsulate Field
Form Template Method
Replace Inheritance with Delegation
Lazy Class
Collapse Hierarchy
Inline Class
Responsibility
Feature Envy
Move Method
Inappropriate Intimacy (General Form)
Move Method and Move Field
Extract Class and Hide Delegate
Change Bidirectional Association to Unidirectional
Message Chains
Extract Method
Move Method
Hide Delegate
Middle Man
Remove Middle Man
Replace Delegation with Inheritance
Accommodating Change
Divergent Change
Shotgun Surgery
Parallel Inheritance Hierarchies
Combinatorial Explosion
Library Classes
Incomplete Library Class