I've recorded myself doing the Tire Pressure Monitoring System refactoring kata in order to be able to later watch me and detect problems to correct.
This is the recording of what I did:
If you decide to watch it, please do it at 2x speed (I still write slowly).
These are the commits after every refactoring step.
You can see the code in this GitHub repository.
Record of experiments, readings, links, videos and other things that I find on the long road.
Registro de experimentos, lecturas, links, vídeos y otras cosas que voy encontrando en el largo camino.
Showing posts with label DIP. Show all posts
Showing posts with label DIP. Show all posts
Monday, June 6, 2016
Sunday, June 5, 2016
Kata: Revisiting Tire Pressure Monitoring System in Java
Some weeks ago we did Luca Minudel's Tire Pressure Monitoring System refactoring kata as part of a mentoring program that Álvaro García and I were doing at Magento Barcelona.
We had done this kata several times before in Java and in Ruby, presented it at some events (Refactoring legacy code driven by tests (Java version) at SCBCN, Refactoring legacy code driven by tests (Java version) at Gran Canaria Ágil, Refactoring legacy code driven by tests (Ruby version) at SCBCN, Refactoring legacy code driven by tests (Ruby version) at Perl 2015 workshop, Refactoring legacy code driven by tests (Ruby version) at Socrates Canarias 2016), and also commented it in a series of blog posts.
In each iteration, we've added things we have learned from the feedback we've received. Thanks to all the people who gave us feedback, (specially to Johan S. Cortes for remembering us to protect the original pressure alarm knowledge).
This is the code of the rehearsal and this is the code of the live coding session at Magento.
We'd like to thank Luca Minudel, once more, for this great exercise. It's small and very focused so it's great for reflecting on concepts such as DIP, testability, seams, and context independence, and also showing some dependency-breaking and refactoring techniques in a short session.
We had done this kata several times before in Java and in Ruby, presented it at some events (Refactoring legacy code driven by tests (Java version) at SCBCN, Refactoring legacy code driven by tests (Java version) at Gran Canaria Ágil, Refactoring legacy code driven by tests (Ruby version) at SCBCN, Refactoring legacy code driven by tests (Ruby version) at Perl 2015 workshop, Refactoring legacy code driven by tests (Ruby version) at Socrates Canarias 2016), and also commented it in a series of blog posts.
In each iteration, we've added things we have learned from the feedback we've received. Thanks to all the people who gave us feedback, (specially to Johan S. Cortes for remembering us to protect the original pressure alarm knowledge).
This is the code of the rehearsal and this is the code of the live coding session at Magento.
We'd like to thank Luca Minudel, once more, for this great exercise. It's small and very focused so it's great for reflecting on concepts such as DIP, testability, seams, and context independence, and also showing some dependency-breaking and refactoring techniques in a short session.
Subscribe to:
Comments (Atom)