http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Unleashing the Power of
Automated Refactoring with JDT
Law of Diversity
Distrust all claims of ONE true way!
Naresh Jain
@nashjain
http://nareshjain.com
naresh@agilefaqs.com
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Plan
What and Why... Refactor?
Automated Refactoring Demo 1 with JDT
When and How... Refactor?
Automated Refactoring Demo 2 with JDT
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What is Refactoring?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What is Refactoring?
A series of small steps, each of which changes the
program’s internal structure without changing its
external behaviour - Martin Fowler
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
This class is too big, we need to refactor it
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
This class is too big, we need to refactor it
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
This class is too big, we need to refactor it
In-Memory Object Caching?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
What if you hear...
We’ll just refactor the code to support logging
Can you refactor the code so that it authenticates against LDAP instead
of Database?
We have too much duplicate code, we need to refactor the code to
eliminate duplication
This class is too big, we need to refactor it
In-Memory Object Caching?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Origin
Ward Cunningham and Kent Beck
Smalltalk style
Ralph Johnson at University of Illinois at Urbana-
Champaign
Bill Opdyke’s Thesis
ftp://st.cs.uiuc.edu/pub/papers/refactoring/opdyke-
thesis.ps.Z
John Brant and Don Roberts:The Refactoring Browser
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Readability
Which code segment is easier to read?
Sample 1
if (date.Before(Summer_Start) || date.After(Summer_End)){
charge = quantity * winterRate + winterServiceCharge;
else
charge = quantity * summerRate;
}
Sample 2
if (IsSummer(date)) {
charge = SummerCharge(quantity);
else
charge = WinterCharge(quantity);
}
Commercial Break!
Copyright
© 2012,
Mumbai
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Tech Talks!
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Automated Refactoring
Demo 1
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
How do we Refactor?
We looks for Code-Smells
Things that we suspect are not quite right or will cause us severe pain if
we do not fix
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
2 Piece of Advice before Refactoring
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
2 Piece of Advice before Refactoring
Baby Steps
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
2 Piece of Advice before Refactoring
Baby Steps
The Hippocratic Oath
First Do No Harm!
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Automated Refactoring
Demo 2
Unleashing the Power of Automated Refactoring with JDT
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Code Smells Lab
Long Method
Lazy class and
Speculative Generality Smell
Refused Bequest
Black Sheep
Duplicate Code
Switch Smell
Dead Code
Alternative Classes with different interface
Odd Ball solution
Primitive Obsession
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?
Helps us deliver more business value faster
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?
Helps us deliver more business value faster
Improves the design of our software
Combat’s “bit rot”
Easier to maintain and understand
Easier to facilitate change
More flexibility
Increased re-usability
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
Minimizes technical debt
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
Minimizes technical debt
Keep development at speed
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
Minimizes technical debt
Keep development at speed
To make the software easier to understand
Write for people, not the compiler
Understand unfamiliar code
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
Minimizes technical debt
Keep development at speed
To make the software easier to understand
Write for people, not the compiler
Understand unfamiliar code
To help find bugs
refactor while debugging to clarify the code
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Why do we Refactor?...
Minimizes technical debt
Keep development at speed
To make the software easier to understand
Write for people, not the compiler
Understand unfamiliar code
To help find bugs
refactor while debugging to clarify the code
To “Fix broken windows” - Pragmatic Programmers
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
When should you refactor?
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
When should you refactor?
To add new functionality
refactor existing code until you understand it
refactor the design to make it simple to add
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
When should you refactor?
To add new functionality
refactor existing code until you understand it
refactor the design to make it simple to add
To find bugs
refactor to understand the code
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
When should you refactor?
To add new functionality
refactor existing code until you understand it
refactor the design to make it simple to add
To find bugs
refactor to understand the code
For code reviews
immediate effect of code review
allows for higher level suggestions
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
When should you refactor?
To add new functionality
refactor existing code until you understand it
refactor the design to make it simple to add
To find bugs
refactor to understand the code
For code reviews
immediate effect of code review
allows for higher level suggestions
Like championship
snooker players we are
setting ourselves up for
our next shot
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
The Two Hats
Adding Function
Add new capabilities to the system
Adds new tests
Get the test working
Refactoring
Does not add any new features
Does not add tests (but may change some)
Restructure the code to remove redundancy
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
The Two Hats
Adding Function
Add new capabilities to the system
Adds new tests
Get the test working
Refactoring
Does not add any new features
Does not add tests (but may change some)
Restructure the code to remove redundancy
Swap frequently between the hats, but only wear one at a time
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Pass
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
http://agilefaqs.com | Copyright © 2016, AgileFAQs. All Rights Reserved.
Refactoring and TDD
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
T H A N K Y O U !
Q U E S T I O N S ?
Naresh Jain
@nashjain
http://nareshjain.com

More Related Content

PDF
The Eclipse Way
PDF
"DevOps > CI+CD "
PPTX
CI/CD Best Practices for Your DevOps Journey
PDF
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
PPTX
DevOps introduction
PDF
Understanding DevOps in simpler way with Continuous Delivery
PPTX
An introduction to DevOps
PDF
Continuous Delivery Distilled
The Eclipse Way
"DevOps > CI+CD "
CI/CD Best Practices for Your DevOps Journey
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
DevOps introduction
Understanding DevOps in simpler way with Continuous Delivery
An introduction to DevOps
Continuous Delivery Distilled

What's hot (20)

PPTX
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
PPTX
Devops online training ppt
PPTX
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
PDF
Dev ops tutorial for beginners what is devops & devops tools
PDF
Continuous Delivery vs Continuous Deployment | DevOps Methodology | Devops Tr...
PDF
Introduction to DevOps
PDF
Continuous Integration for Oracle Database Development
PPTX
Automation CICD
PDF
Devops Intro - Devops for Unicorns & DevOps for Horses
PDF
Continuous Delivery at Oracle Database Insights
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
PPTX
Devops Mindset Essentials
PDF
Top DevOps tools
PDF
A New Approach to DevOps Software Product Development Solution
PDF
DevOps in a nutshell
PDF
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PPTX
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
PDF
Agile Maintenance
PDF
Introduction to CICD
PPTX
Progressive exposure using deployment rings and feature flags
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Devops online training ppt
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Dev ops tutorial for beginners what is devops & devops tools
Continuous Delivery vs Continuous Deployment | DevOps Methodology | Devops Tr...
Introduction to DevOps
Continuous Integration for Oracle Database Development
Automation CICD
Devops Intro - Devops for Unicorns & DevOps for Horses
Continuous Delivery at Oracle Database Insights
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Devops Mindset Essentials
Top DevOps tools
A New Approach to DevOps Software Product Development Solution
DevOps in a nutshell
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
Agile Maintenance
Introduction to CICD
Progressive exposure using deployment rings and feature flags

Similar to Unleashing the Power of Automated Refactoring with JDT (20)

PDF
System design for Web Application
PPTX
Mastering DevOps With Oracle
PDF
WoMakersCode 2016 - Shit Happens
PDF
So You Just Inherited a $Legacy Application… NomadPHP July 2016
PDF
So You Just Inherited a $Legacy Application...
PDF
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...
PPTX
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
ODP
Web Development in Django
PPTX
API Athens Meetup - API standards 25-6-2014
PPTX
API Athens Meetup - API standards 25-6-2014
PDF
Open source-secret-sauce-rit-2010
PPTX
2017 03 25 Microsoft Hacks, How to code efficiently
PDF
PDF
Rapidly Building and Deploying Scalable Web Architectures
PPTX
Test Masters 2016 Spring Conference
PPTX
Rapid software testing and conformance with static code analysis
PDF
Open source secret_sauce_apache_con_2010
PPTX
Agile & DevOps - It's all about project success
KEY
Mongodb and Totsy - E-commerce Case Study
ODP
Infrastructure is development
System design for Web Application
Mastering DevOps With Oracle
WoMakersCode 2016 - Shit Happens
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application...
Agile Mumbai 2019 Conference | Intelligent DevOps enabling Enterprise Agilit...
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
Web Development in Django
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards 25-6-2014
Open source-secret-sauce-rit-2010
2017 03 25 Microsoft Hacks, How to code efficiently
Rapidly Building and Deploying Scalable Web Architectures
Test Masters 2016 Spring Conference
Rapid software testing and conformance with static code analysis
Open source secret_sauce_apache_con_2010
Agile & DevOps - It's all about project success
Mongodb and Totsy - E-commerce Case Study
Infrastructure is development

More from Naresh Jain (20)

PDF
Problem Solving Techniques For Evolutionary Design
PDF
Agile India 2019 Conference Welcome Note
PDF
Organizational Resilience
PDF
Improving the Quality of Incoming Code
PDF
Agile India 2018 Conference Summary
PDF
Agile India 2018 Conference
PDF
Agile India 2018 Conference
PDF
Agile India 2018 Conference
PDF
Pilgrim's Progress to the Promised Land by Robert Virding
PDF
Concurrent languages are Functional by Francesco Cesarini
PDF
Erlang from behing the trenches by Francesco Cesarini
PDF
Anatomy of an eCommerce Search Engine by Mayur Datar
PDF
Setting up Continuous Delivery Culture for a Large Scale Mobile App
PDF
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
PDF
Value Driven Development by Dave Thomas
PDF
No Silver Bullets in Functional Programming by Brian McKenna
PDF
Functional Programming Conference 2016
PDF
Agile India 2017 Conference
PDF
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
PDF
MVP Design Hacks
Problem Solving Techniques For Evolutionary Design
Agile India 2019 Conference Welcome Note
Organizational Resilience
Improving the Quality of Incoming Code
Agile India 2018 Conference Summary
Agile India 2018 Conference
Agile India 2018 Conference
Agile India 2018 Conference
Pilgrim's Progress to the Promised Land by Robert Virding
Concurrent languages are Functional by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
Anatomy of an eCommerce Search Engine by Mayur Datar
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Value Driven Development by Dave Thomas
No Silver Bullets in Functional Programming by Brian McKenna
Functional Programming Conference 2016
Agile India 2017 Conference
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
MVP Design Hacks

Recently uploaded (20)

PPTX
Beige and Black Minimalist Project Deck Presentation (1).pptx
PPTX
Chapter_05_System Modeling for software engineering
PPTX
Presentation - Summer Internship at Samatrix.io_template_2.pptx
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PDF
C language slides for c programming book by ANSI
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PPTX
MCP empowers AI Agents from Zero to Production
PDF
How to Write Automated Test Scripts Using Selenium.pdf
PPTX
UNIT II: Software design, software .pptx
PDF
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
PPTX
Relevance Tuning with Genetic Algorithms
PPTX
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
PDF
Adlice Diag Crack With Serial Key Free Download 2025
PPTX
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
PPTX
Why 2025 Is the Best Year to Hire Software Developers in India
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
PDF
MaterialX Virtual Town Hall - August 2025
PPTX
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Beige and Black Minimalist Project Deck Presentation (1).pptx
Chapter_05_System Modeling for software engineering
Presentation - Summer Internship at Samatrix.io_template_2.pptx
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Understanding the Need for Systemic Change in Open Source Through Intersectio...
C language slides for c programming book by ANSI
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
MCP empowers AI Agents from Zero to Production
How to Write Automated Test Scripts Using Selenium.pdf
UNIT II: Software design, software .pptx
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
Relevance Tuning with Genetic Algorithms
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
Adlice Diag Crack With Serial Key Free Download 2025
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
Why 2025 Is the Best Year to Hire Software Developers in India
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
MaterialX Virtual Town Hall - August 2025
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf

Unleashing the Power of Automated Refactoring with JDT