Please enable JavaScript.
Coggle requires JavaScript to display documents.
Refactoring - Coggle Diagram
Refactoring
Code Smells
Bloaters
Large class
Treatment
Extract class
Extract subclass
Extract interface
Duplicate observed data
Primitive obsession
Treatment
Introduce parameter object
Preserve whole object
Replace type with class
Replace type code with subclasses
Replace type code with State/Strategy
Replace Array with Object
Long parameter list
Treatment
Replace parameter with method call
Preserve whole object
Introduce parameter object
Data clumps
Treatment
Extract Class
Introduce Parameter Object
Preserve Whole Object
Long method
Treatment
Introduce parameter object
Preserve whole object
Replace method with method object
Decompose Conditional
Extract method
Replace Temp with Query
Object-Oriented Abusers
Switch Statements
Treatment
Extract method then Move method
Replace Type Code with Subclasses
Replace Type Code with State/Statergy
Replace Conditional with Polymorphism
Replace Parameter with Explicit Method
Introduce Null Object
Temporary Fields
Treatment
Extract Method
Replace Method with Method Object
Introduce Null Object
Refused Bequest
Treatment
Replace Inheritance with Delegation
Extract Superclass
Alternative Classes with Different Interfaces
Treatment
Rename method
Move Method, Add Parameter and Parameterize Method
Extract Superclass
Change Preventers
Divergent Changes
Treatment
Extract Class / Extract SuperClass / Extract Sub
Class
Shotgun Surgery
Treatment
Move Method / Move Field
Inline Class
Parallel Inheritance Hierarchies
Treatment
Move Method / Move Fields
Dispensables
Comments
Duplicate Code
Lazy Class
Data Class
Dead Code
Speculative Generality
Couplers
Feature Envy
Inappropriate Intimacy
Message Chain
Middle Man
Other Smells
Incomplete Library Class
Refactoring Techniques
Composing Methods
Extract Method
Inline Method
Extract Variable
Inline Temp
Replace Temp with Query
Split Temporary Variable
Remove Assignments to Parameters
Replace Method with Method Objects
Substitute Algorithm