https://www.youtube.com/watch?v=lQvDd9GPSB4
At 4:50 multiple definitions of legacy code. His definition is code that we do not understand well enough to re-factor confidently.
At 12:30 he talks about characterization testing and how it is outlined in the book working effectively with legacy code.
At 1335 he talks about how you should delete your characterization tests after the re-factor, but then actually you kind of want to keep them.
At 1450 He mentions Jesse Toth's work at Github, which she talks about in talk-easy-rewrites-with-ruby-and-science
At 1655 he talks about project-suture, the re-factoring gem.
talk-fearlessly-refactoring-legacy-ruby#nine-steps-of-refactoring
At 18:30 The nine steps of refactoring:
talk-fearlessly-refactoring-legacy-ruby#nine-steps-of-refactoring
At 2020 he shows that he will put the seam in at the controller
At 3030 he talks about book-99-bottles-of-oop
talk-fearlessly-refactoring-legacy-ruby#judge-by-messages1 2 3 At 3330 judge a library by its messages. Jim Weirich said that. talk-fearlessly-refactoring-legacy-ruby#judge-by-messages1 2 3
At 3610 failure advice.
At 3630 discoverable configuration.
talk-fearlessly-refactoring-legacy-ruby#assumes-tests-are-meaningful-but-not-characterization-tests1 2 At 56:24 whenever he sees a test he assumes it's there for a good reason. Characterization tests don't actually have that same meaning. They just describe the system as it is running, and don't suggest that the way it is running is actually right. talk-fearlessly-refactoring-legacy-ruby#assumes-tests-are-meaningful-but-not-characterization-tests1 2
Todo link to the suture project and also link to the scientist project.