SlideShare a Scribd company logo
2
Most read
12
Most read
14
Most read
Refactoring Techniques
Composing Methods
Extract Method
Inline Method
Extract Variable
Inline Temp
Replace Temp with Query
Replace Method with Method Object
Split Temporary Variable
Remove Assignments to Parameters
Substitute Algorithm
Moving Features between Objects
Move Method
Move Field
Extract Class
Inline Class
Hide Delegate
Remove Middleman
Introduce Foreign Method
Introduce Local Extension
Organizing Data
Self-Encapsulate Field
Encapsulate Field
Change Value to Reference
Change Reference to Value
Replace Data Value with Object
Replace Array with Object
Encapsulate Collection
Change Unidirectional Association to Bidirectional
Change Bidirectional Association to Unidirectional
Replace Magic Number with Symbolic Constant
Duplicate Observed Data
Replace Type Code with Class
Replace Type Code with Subclasses
Replace Type Code with State/Strategy
Replace Subclass with Fields
Simplifying Conditional Expressions
Decompose Conditional
Consolidate Conditional Expression
Consolidate Duplicate Conditional Fragments
Remove Control Flag
Replace Nested Conditional with Guard Clauses
Introduce Assertion
Replace Conditional with Polymorphism
Introduce Null Object
Simplifying Method Calls
Rename Method
Add Parameter
Remove Unused Parameter
Separate Query from Modifier
Parameterize Method
Preserve Whole Object
Replace Parameter with Method Call
Replace Parameter with Explicit Methods
Introduce Parameter Object
Remove Setting Method for Immutable Fields
Hide Method that should not be Public
Replace Constructor with Factory Method
Replace Error Code with Exception
Replace Exception with Test
Dealing with Generalization
Pull Up Field
Pull Up Method
Pull Up Constructor Body
Push Down Field
Push Down Method
Extract Subclass
Extract Superclass
Collapse Hierarchy
Extract Interface
Form Template Method
Replace Inheritance with Delegation
Replace Delegation with Inheritance
Ad

Recommended

Refactoring Tips by Martin Fowler
Refactoring Tips by Martin Fowler
Igor Crvenov
 
Bad Code Smells
Bad Code Smells
kim.mens
 
Refactoring
Refactoring
Artem Tabalin
 
Refactoring and code smells
Refactoring and code smells
Paul Nguyen
 
Code smell overview
Code smell overview
Pham Manh Lan
 
Clean Code
Clean Code
Hendrik Ebel
 
Code Smells and Its type (With Example)
Code Smells and Its type (With Example)
Anshul Vinayak
 
Code refactoring
Code refactoring
Lalit Kale
 
CSharp Presentation
CSharp Presentation
Vishwa Mohan
 
Oops concept on c#
Oops concept on c#
baabtra.com - No. 1 supplier of quality freshers
 
Introduction to c#
Introduction to c#
OpenSource Technologies Pvt. Ltd.
 
ORACLE PL/SQL
ORACLE PL/SQL
ASHABOOPATHY
 
C# coding standards, good programming principles & refactoring
C# coding standards, good programming principles & refactoring
Eyob Lube
 
Difference between Java and c#
Difference between Java and c#
Sagar Pednekar
 
Java Arrays
Java Arrays
Jussi Pohjolainen
 
Design pattern cheat sheet
Design pattern cheat sheet
Rachanee Saengkrajai
 
Why Laravel?
Why Laravel?
Jonathan Goode
 
C# - Part 1
C# - Part 1
Md. Mahedee Hasan
 
SQLITE Android
SQLITE Android
Sourabh Sahu
 
c# usage,applications and advantages
c# usage,applications and advantages
mohamed drahem
 
Unit Testing in Python
Unit Testing in Python
Haim Michael
 
Clean code: SOLID
Clean code: SOLID
Indeema Software Inc.
 
Constructor in java
Constructor in java
Hitesh Kumar
 
PL/SQL Fundamentals I
PL/SQL Fundamentals I
Nick Buytaert
 
Object Oriented Programming with C#
Object Oriented Programming with C#
foreverredpb
 
C# basics
C# basics
Dinesh kumar
 
C# conventions & good practices
C# conventions & good practices
Tan Tran
 
Class & Object - User Defined Method
Class & Object - User Defined Method
PRN USM
 
Code Refactoring - 3.0
Code Refactoring - 3.0
Arul Prakash
 
Martin Fowler's Refactoring Techniques Quick Reference
Martin Fowler's Refactoring Techniques Quick Reference
Seung-Bum Lee
 

More Related Content

What's hot (20)

CSharp Presentation
CSharp Presentation
Vishwa Mohan
 
Oops concept on c#
Oops concept on c#
baabtra.com - No. 1 supplier of quality freshers
 
Introduction to c#
Introduction to c#
OpenSource Technologies Pvt. Ltd.
 
ORACLE PL/SQL
ORACLE PL/SQL
ASHABOOPATHY
 
C# coding standards, good programming principles & refactoring
C# coding standards, good programming principles & refactoring
Eyob Lube
 
Difference between Java and c#
Difference between Java and c#
Sagar Pednekar
 
Java Arrays
Java Arrays
Jussi Pohjolainen
 
Design pattern cheat sheet
Design pattern cheat sheet
Rachanee Saengkrajai
 
Why Laravel?
Why Laravel?
Jonathan Goode
 
C# - Part 1
C# - Part 1
Md. Mahedee Hasan
 
SQLITE Android
SQLITE Android
Sourabh Sahu
 
c# usage,applications and advantages
c# usage,applications and advantages
mohamed drahem
 
Unit Testing in Python
Unit Testing in Python
Haim Michael
 
Clean code: SOLID
Clean code: SOLID
Indeema Software Inc.
 
Constructor in java
Constructor in java
Hitesh Kumar
 
PL/SQL Fundamentals I
PL/SQL Fundamentals I
Nick Buytaert
 
Object Oriented Programming with C#
Object Oriented Programming with C#
foreverredpb
 
C# basics
C# basics
Dinesh kumar
 
C# conventions & good practices
C# conventions & good practices
Tan Tran
 
Class & Object - User Defined Method
Class & Object - User Defined Method
PRN USM
 

Similar to Code Refactoring Cheatsheet (20)

Code Refactoring - 3.0
Code Refactoring - 3.0
Arul Prakash
 
Martin Fowler's Refactoring Techniques Quick Reference
Martin Fowler's Refactoring Techniques Quick Reference
Seung-Bum Lee
 
Code smells
Code smells
Narayann Swaami
 
MCE^3 - Hannes Verlinde - Let The Symbols Do The Work
MCE^3 - Hannes Verlinde - Let The Symbols Do The Work
PROIDEA
 
Code Refactoring using rails
Code Refactoring using rails
Achintya Kumar
 
Speeding up web_application
Speeding up web_application
Achintya Kumar
 
Bad Smell In Codes 1
Bad Smell In Codes 1
A Walk in the World
 
31 days Refactoring
31 days Refactoring
Ahasanul Kalam Akib
 
Bade Smells in Code
Bade Smells in Code
Will Shen
 
Bad Smells in Code
Bad Smells in Code
Özge Nur KOÇ
 
Refactoring: Improve the design of existing code
Refactoring: Improve the design of existing code
Valerio Maggio
 
Agile korea 2013 유석문
Agile korea 2013 유석문
Sangcheol Hwang
 
Refactoring
Refactoring
Tausun Akhtary
 
Refactoring Chapter 6,7.pptx
Refactoring Chapter 6,7.pptx
Eskişehir Technical University
 
Bad Smell in Codes - Part 1
Bad Smell in Codes - Part 1
Shaer Hassan
 
Aula catalogo de refatoracoes
Aula catalogo de refatoracoes
Ivan Ricarte
 
Resharper
Resharper
Hanokh Aloni
 
Resharper - Next Steps
Resharper - Next Steps
Timmy Kokke
 
Refactoring Techniques
Refactoring Techniques
Mayada Ghanem
 
Refactoring
Refactoring
Mikalai Alimenkou
 
Code Refactoring - 3.0
Code Refactoring - 3.0
Arul Prakash
 
Martin Fowler's Refactoring Techniques Quick Reference
Martin Fowler's Refactoring Techniques Quick Reference
Seung-Bum Lee
 
MCE^3 - Hannes Verlinde - Let The Symbols Do The Work
MCE^3 - Hannes Verlinde - Let The Symbols Do The Work
PROIDEA
 
Code Refactoring using rails
Code Refactoring using rails
Achintya Kumar
 
Speeding up web_application
Speeding up web_application
Achintya Kumar
 
Bade Smells in Code
Bade Smells in Code
Will Shen
 
Refactoring: Improve the design of existing code
Refactoring: Improve the design of existing code
Valerio Maggio
 
Agile korea 2013 유석문
Agile korea 2013 유석문
Sangcheol Hwang
 
Bad Smell in Codes - Part 1
Bad Smell in Codes - Part 1
Shaer Hassan
 
Aula catalogo de refatoracoes
Aula catalogo de refatoracoes
Ivan Ricarte
 
Resharper - Next Steps
Resharper - Next Steps
Timmy Kokke
 
Refactoring Techniques
Refactoring Techniques
Mayada Ghanem
 
Ad

Recently uploaded (20)

HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Y - Recursion The Hard Way GopherCon EU 2025
Y - Recursion The Hard Way GopherCon EU 2025
Eleanor McHugh
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Y - Recursion The Hard Way GopherCon EU 2025
Y - Recursion The Hard Way GopherCon EU 2025
Eleanor McHugh
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
Ad

Code Refactoring Cheatsheet