Cuando se me plantea un problema, particularmente cuando es de naturaleza complicada, trato de tomarme un tiempo para pensar en el enfoque que voy a tomar para resolver el problema. A pesar de esto, lo que sucede a menudo es que, mientras estoy programando la solución, empiezo a pensar en detalles del problema que me perdí, y ajusto el código en consecuencia.
Lo que resulta es un desastre de código que necesita ser refactorizado.
Quiero "refactorizar sobre la marcha", pero aunque parezca bastante fácil de hacer, me cuesta mucho hacerlo. Cuando el detalle que me perdí es pequeño, es tentador hacer una pequeña actualización de mi diseño, en lugar de borrar lo que ya he escrito y escribirlo como se supone que debe ser.
Suena como una pregunta con una respuesta obvia, pero ¿hay alguna técnica para usar para "refactorizar sobre la marcha"? Sé que este es un buen principio, pero fallo una y otra vez.