El código samurai (O cómo programar mejor)

Este artículo es un resumen de los consejos ofrecidos en el artículo Free Programming Tips are Worth Every Penny (Consejos gratuitos para programadores que valen su peso en oro) por Will Shipley.Dibujo de samurai. Autor: Eugene Collache

Sigue el Código Samurai

Los antiguos samurais, cuando luchaban, se pasaban horas observándose mutuamente hasta que repentinamente uno de ellos lanzaba un sólo golpe y derrotaba al contrincante.

Cuando vayas a programar, antes de nada, piensa, luego piensa un poco más, hasta que tengas una idea de conjunto de todo el proyecto. Luego piensa en un problema concreto con el que vayas a comenzar a programar, piensa de nuevo en el conjunto y en como encaja esta pieza en él. Entonces comienza a escribir código. No escribas una sola línea de código hasta que no tengas claro que es lo que vas a hacer.

Si eres de los que necesitan escribir para pensar: escribe en una carpeta aparte, crea tantas nuevas carpetas como bocetos necesites y cuando ya tengas el dibujo completo entonces escribe en la carpeta o proyecto definitivo; reutilizando los fragmentos de código que son de calidad y reescribiendo de nuevo lo que haya salido emborronado.

Escribe todo el código “en limpio” la primera vez que lo escribas. No hagas una chapuza pensando que lo arreglarás más tarde, de hecho nunca lo arreglarás. Utiliza clases para todos. Usa tipos enumerados.

Escribe código robusto y “a prueba de balas” desde el principio. Piensa en todo lo que podría causar un fallo y toma medidas preventivas como si el fallo ya hubiera ocurrido.

Cada vez que retoques tu código para añadir funcionalidades o corregir un fallo aprovecha para hacer limpieza. Haz limpieza todo el rato. Pasa el paño cada vez que veas una mota de polvo afeando tu código.

Menos código casi siempre es mejor. Mejor para depurar, mejor para que lo entiendan otro programadores o tu mismo en el futuro, menos código son menos fallos. No añadas funciones adicionales a una clase pensando que las necesitarás en el futuro. Escribe sólo lo que necesites ahora. Cuando necesites contemplar nuevos casos escribe una función más genérica, que admita parámetros, pero no lo hagas hasta que no estés usando esa función en dos o más lugares de tu aplicación.

No te obsesiones con la velocidad y la eficiencia de tu código al principio. Tu tiempo de programador es caro, el hardware es rápido y barato. Cuando tu código funcione y esté depurado podrás hacer test de rendimiento y encontrar los cuellos de botella que merece la pena optimizar.

Es posible que este sea el único artículo que aparezca en este blog sobre el tema de programación, he creado Framework PHP un nuevo blog dedicado exclusivamente a la programación en PHP.

Cursos gratuitos de AJAX, JavaScript y Java

Sang Shing es un trabajador de Sun Microsystems que a título particular se dedica a impartir cursos online gratuitos sobre tecnologías web como AJAX, JavaScript, Java, J2EE, XML y Web Services, entre otras. Puedes apuntarte desde su web a los cursos o seguirlos por tu cuenta utilizando el material disponible, que parece de una calidad excelente.

He encontrado la entrada en el blog de Jaime Cid, también de Sun.