
About
This is a remote pair programming codecast with Amitai Schleier on Legacy Code, the Trivia kata.
Premise
We are refactoring some legacy code in Perl and VI. Adi doesn’t know almost anything about Perl, but he knows the problem and the approach. Amitai knows Perl so he is primarily driving, while Adi is navigating.
We are using the Trivia Kata that JB Rainsberger started using with Legacy Coderetreat. We start with having a safety net, some tests in a format called Golden Master.
This session is a Genuine Codecast, in opposition to a rehearsed codecast where everything looks perfect. In a Genuine Codecast we do mistakes, we work as any normal two programmers would and we are not perfect. You can follow our, correct or wrong, train of thought, and how we try to pair for the first time ever.
After around one hour or working together we end up at a stable spot with the code, a moment where we can continue. We have some tests. Yaaaay!
We tried also the Modulino Technique in Perl, which was very interesting for Adi.
Video
Check the video and please come with your ideas and comments
Debriefing
Adi
- After the session we are both a bit tired, and we discuss what happened.
- We had some technical issues with video and audio, and also with vi
- It’s not that easy to work with vi when showing the screen
- Perl was interesting to learn for Adi, it’s fun to know how it works
- Interesting to see how Golden Master can work in Perl
Amitai
- Having technical difficulties is realistic when doing remote pairing
- Under the right conditions it can be very smooth. You almost never have the good conditions from the first try for remote pairing
- Perl was relatively comfortable, but I had to search some basics
- TDD helps discovery your mistakes faster
- I knew Golden Master technique, but I would have done the Modulino Technique first because it might have saved us some time.
- If we get back to it, I would get more complete coverage with Golden Master so we can refactor the code because it is so messy.
- I have ported the Perl version of Trivia, and reflecting on it, it was one of the most difficult things I have ever coded: do the stupid thing in Perl and allow myself to not fix it! It was emotionally and intellectually toxic to me.
Acknowledgements
Many thanks to Amitai for taking the time to record this codecast with me.
What’s Next?
Check the previous episodes of #RemotePairProgramming:
- Ep 001: Traditional Style Pairing
- Ep 002: Strong Style Pairing
- Ep 003: Strong Style Pairing with Michel Daviot
- Ep 004: Adi & Michel Daviot – Michel as Navigator
- Ep 005: Adi & Julian – Evolutionary Design with Selection Pressure (part 1)
- Ep 006: Adi & Julian – Evolutionary Design with Selection Pressure (part 2)
- Ep 007: Adi & Tom – Tackling Legacy Code (part 1)
- Ep 008: Adi & Tom – Improving Legacy Code (part 2)
- Ep 009: Adi & Ferdinando – Elastic Pair Programming
