SlideShare a Scribd company logo
Lessons Learned
Implementing Refactorings
Hernán A. Wilkinson
@hernanwilkinson
agile software development & services
Lessons Learned Implementing Refactorings
Lessons Learned Implementing Refactorings
Lessons Learned Implementing Refactorings
Ported to all Smalltalks (but Cuis )
Why not ported to Cuis?
Refactorings were implemented from
scratch using TDD
No influence of the Refactoring Browser
Design/Functionality
Some Design considerations
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
RenameSelector - RBRenameMethodRefactoring
Some Functional considerations
RenameSelector – implementors/senders
AddParameter
Keeping Source Format
Keeping Source Format
Impact in looking for senders/implementors
Impact in Rename – Contextual Rename!
Rename Instance Variable
Impact in Rename – Contextual Rename!
Rename Arg/Temp
Impact in Rename – Contextual Rename!
Rename Selector
Impact in Rename – Contextual Rename!
Rename Class
“Typed” RenameSelector
Conclusions
Sometimes it is good to re-do/re-think
something that already “exists”
Keeping it simple is important
It is impacting other environment’s
tools, which is good 
Questions?
Thanks!

More Related Content

PPTX
Refactoring, 2nd Edition
PDF
Code refactoring workshop (in Javascript)
PPTX
Code refactoring
PDF
The Power Of Refactoring (PHPCon Italia)
PDF
The Power Of Refactoring (php|tek 09)
PDF
The Power Of Refactoring (4developers Krakow)
PDF
So You Want to Start Refactoring?
PDF
Technical Mentoring, What works and not
Refactoring, 2nd Edition
Code refactoring workshop (in Javascript)
Code refactoring
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (4developers Krakow)
So You Want to Start Refactoring?
Technical Mentoring, What works and not

More from Hernan Wilkinson (20)

PDF
Hacia una síntesis de diseño a partir de entender qué es modelar con software
PDF
Live Typing - California Smalltalkers
PDF
Buenos Aires vs. (London vs. Chicago) Agiles 2020
PPTX
LiveTyping - Anotación automática de tipos para lenguajes dinámicos
PPTX
LiveTyping: Update and What is next
PPTX
Cuis smalltalk past present and future
PPTX
Live Typing - Automatic Type Annotation that improves the Programming eXperie...
PPTX
El Desarrollo de Software como debería Ser - PyConAr 2018
PPTX
Dynamic Type Information
PPTX
El Desarrollo de Software como debería Ser - Nerdear.la 2018
PDF
El Desarrollo de Software como debería Ser
PPTX
TDD & Refactoring
PPTX
Go/Ruby/Java: What's next?
PPTX
Exceptions: Why, When, How and Where!
PPTX
CuisUniversity
PPTX
Oop is not Dead
PPT
Augmenting Smalltalk Syntax
PDF
Growing an open participative horizontal and based on trust company
PDF
Como escribir buenos tests al hacer TDD
PPT
Desarrollando sistemas con metodologías y técnicas agiles
Hacia una síntesis de diseño a partir de entender qué es modelar con software
Live Typing - California Smalltalkers
Buenos Aires vs. (London vs. Chicago) Agiles 2020
LiveTyping - Anotación automática de tipos para lenguajes dinámicos
LiveTyping: Update and What is next
Cuis smalltalk past present and future
Live Typing - Automatic Type Annotation that improves the Programming eXperie...
El Desarrollo de Software como debería Ser - PyConAr 2018
Dynamic Type Information
El Desarrollo de Software como debería Ser - Nerdear.la 2018
El Desarrollo de Software como debería Ser
TDD & Refactoring
Go/Ruby/Java: What's next?
Exceptions: Why, When, How and Where!
CuisUniversity
Oop is not Dead
Augmenting Smalltalk Syntax
Growing an open participative horizontal and based on trust company
Como escribir buenos tests al hacer TDD
Desarrollando sistemas con metodologías y técnicas agiles
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administration Chapter 2
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Transform Your Business with a Software ERP System
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
System and Network Administraation Chapter 3
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
wealthsignaloriginal-com-DS-text-... (1).pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
PTS Company Brochure 2025 (1).pdf.......
history of c programming in notes for students .pptx
System and Network Administration Chapter 2
How to Migrate SBCGlobal Email to Yahoo Easily
Transform Your Business with a Software ERP System
Digital Systems & Binary Numbers (comprehensive )
Digital Strategies for Manufacturing Companies
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
System and Network Administraation Chapter 3
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Adobe Illustrator 28.6 Crack My Vision of Vector Design
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms I-SECS-1021-03
Ad

Lessons Learned Implementing Refactorings