Cuando programamos generalmente vamos con el tiempo justo. Los tiempos de entrega son muy ajustados y eso nos obliga a tomar decisiones que no son muy acertadas en el momento. Si el proyecto es personal tendremos la fuerzas necesarias y las ganas de refactorizarlo o de evolucionarlo pero la cosa cambia cuando tenemos unos presupuestos, tiempo limitado o sencillamente un proyecto con el que no nos sentimos identificados.
Escribir código desde cero
Cuando escribimos código desde cero tenemos que ser claros. Se agradecen espacios, salto de línea y variables semánticamente lógicas. Mejor evitar los operadores ternarios pues pueden inducir a confusión.
Comentarios
Hay un firme debate entre si hay que poner comentarios o no en el código y creo que la solución es bastante sencilla. Si el comentario aporta una información adicional al código, se comenta; si el comentario evidencia lo programado no merece la pena; y nunca se comenta si el comentario es falso (puede inducir a confusión).
Hay que pensar que los comentarios también se tienen que mantener y si actualizamos el código, también hay que actualizar los comentarios.
Refactorización de código
Cuando tienes un proyecto que hace tiempo que no actualizas y vuelves a entrar a modificar algo, adaptarlo a nuevas actualizaciones o simplemente añadirle una funcionalidad; el código que escribiste parece raro. El código se crea en base a los conocimientos y las ideas que tenemos en el momento. Ponerse creativo es parte del proceso de volver a leer tu propio código.
Da mucha pereza reescribir el código pero es necesario. ¡Hazlo y no te arrepentirás!
Conclusiones
Mi consejo es que programes como si fiera para otro, cómo si lo tuvieras que leer dentro del 20 años, cómo si no te conocieras a ti mismo. Mantener una política de código limpio es esencial para ser un buen programador y si lideras a programadores exige que ejecuten un código lim[pio, formateado y comentado si hace falta.