Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lessons Learned Implementing Refactorings

406 views

Published on

Presentation given at Smalltalks 2018 about what I learned from implementing refactorings in Smalltalk

Published in: Software
  • Be the first to comment

  • Be the first to like this

Lessons Learned Implementing Refactorings

  1. 1. Lessons Learned Implementing Refactorings Hernán A. Wilkinson @hernanwilkinson agile software development & services
  2. 2. Ported to all Smalltalks (but Cuis )
  3. 3. Why not ported to Cuis?
  4. 4. Refactorings were implemented from scratch using TDD
  5. 5. No influence of the Refactoring Browser Design/Functionality
  6. 6. Some Design considerations
  7. 7. RenameSelector - RBRenameMethodRefactoring
  8. 8. RenameSelector - RBRenameMethodRefactoring
  9. 9. RenameSelector - RBRenameMethodRefactoring
  10. 10. RenameSelector - RBRenameMethodRefactoring
  11. 11. RenameSelector - RBRenameMethodRefactoring
  12. 12. RenameSelector - RBRenameMethodRefactoring
  13. 13. RenameSelector - RBRenameMethodRefactoring
  14. 14. RenameSelector - RBRenameMethodRefactoring
  15. 15. Some Functional considerations
  16. 16. RenameSelector – implementors/senders
  17. 17. AddParameter
  18. 18. Keeping Source Format
  19. 19. Keeping Source Format
  20. 20. Impact in looking for senders/implementors
  21. 21. Impact in Rename – Contextual Rename! Rename Instance Variable
  22. 22. Impact in Rename – Contextual Rename! Rename Arg/Temp
  23. 23. Impact in Rename – Contextual Rename! Rename Selector
  24. 24. Impact in Rename – Contextual Rename! Rename Class
  25. 25. “Typed” RenameSelector
  26. 26. Conclusions
  27. 27. Sometimes it is good to re-do/re-think something that already “exists”
  28. 28. Keeping it simple is important
  29. 29. It is impacting other environment’s tools, which is good 
  30. 30. Questions?
  31. 31. Thanks!

×