Nine Steps of Learning by Refactoring 10 April 2018 programming comments D29, a prototype 29 December 2013 programming comments