Voy a decir lo que dice la mayoría: hago las dos cosas
Me parece muy legible y además intuitivo para alguien que, por ejemplo, este externo al desarrollo de la aplicación.
Solo comento los puntos fuertes que puedan no quedar en claro lo que hacen. Lo que si comento con lujo de detalles son los procedimientos o funciones de gran importancia para la aplicación (lo hago con un ancabezado con la fecha, el programador, parámetros, etc.)
Las dos cosas adicionales que tengo que mencionar es que los nombres de variables, componentes y demás a los que se haga referencia desde el código los escribo en lenguaje universal (Inglés) por comodidad e internacionalización.
El otro punto fuerte es que utilizo constantes en la mayoría del código, lo hace muy legible y además son mas rápidas las modificaciones.
Eso es todo, saludos
