Refactor Later Follow-on
Following on from my prior post Refactor Later, part of the rationale for this approach is from the philosophy of Software Craftsmanship. Software Craftsmanship classifies programmers as apprentices, journeymen and masters, where:
- apprentices find the nearest example and copy it
- journeymen find the best example and use it
- masters find the best example and improve it
(paraphrased from my colleague Jeff Bay). By encouraging your pair to tackle the refactoring, you are encouraging them to improve the best example and thereby helping them on the road to becoming a master programmer.