@CodingItWrong@mastodon.technology only read the first couple sections, but good points. one thing though is the refactor step is described as rewriting both test and production code, but I think you might want to emphasize only changing one at a time. if you're changing both at the same time, then you're losing the guarantees of confirming to the interface described by your tests, so you no longer have a fixed point of comparison. refactoring should not change the interface by definition