SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Refactoring – simple word which all of you already heard about it - Do Minh Tuan
Have you ever think about What exactly Refactoring doing? Why you have to do that? and How to do it in the right way?
In my topic, you may find out the answers for those questions. Then, you have my word “Refactoring”!
Have you ever think about What exactly Refactoring doing? Why you have to do that? and How to do it in the right way?
In my topic, you may find out the answers for those questions. Then, you have my word “Refactoring”!
Refactoring – simple word which all of you already heard about it - Do Minh Tuan
1.
Refactoring
A simple word which all of you already heard about
–Do Minh Tuan
2.
I’m Tuan
• Live in Da Nang.
• Working in Axon Active
Vietnam.
• Scrum Master, Team Leader,
Software Engineer.
• Java, Javascript, Code
Generator.
tuan.do@axonactive.vn
4.
–Martin Fowler
“a change made to the internal structure of
software to make it easier to understand and
cheaper to modify without changing its
observable behavior.”
What is Refactoring ?
5.
ADDING FUNCTION REFACTORING
you can only wear one hat at a time
15.
–Don Roberts
“The first time you do something, you just do
it. The second time you do something similar,
you wince at the duplication, but you do the
duplicate thing anyway. The third time you do
something similar, you refactor”
20.
Long Method
Large Class
Long Parameter List
Divergent Change
Shotgun Surgery
Data Clumps
Feature Envy
Primitive Obsession
Switch Statements
Parallel Inheritance HierarchiesSpeculative Generality
Temporary Field
Message Chains
Middle manInappropriate IntimacyIncomplete Library Class
Data ClassRefuse Bequest
Comment
Duplicated Code