¿Por qué mantener el código fuente limpio?
Realizamos un curso de Clean Code en el vCenter, impartido por Alberto Basalo.
El motivo del curso es concienciar, reforzar las buenas prácticas e incidir en los beneficios que aporta mantener nuestro código limpio, como puede ser la rentabilidad. Os dejo un resumen.
Cosas que debemos tener en cuenta cuando escribimos código:
Pensar en el mantenimiento.
Pensar en la evolución.
No caer demasiado en él “por si acaso”.
Recomendaciones para mantener el código fuente limpio y legible
Facilitar la lectura del código. El código se lee 10 veces más veces de las que se escribe. Facilitar su lectura nos hace más productivos.
Keep it simple. No adornes, fácil de entender, fácil de leer.
No dupliques código.
Responsabilidad única. Un proceso/función sólo hace una cosa y la hace solo ella. Retornar un valor.
Procesos/funciones pequeños. Cuanto más pequeño más reutilizable.
Los nombres deben mostrar la intención y ocultar los detalles (no ofuscar):
Las variables que sean sustantivos.
Los procesos/funciones que lleven verbos. Que describen la acción.
Es útil tener un vocabulario definido y reducido. Diccionario de nombres.
Evita la globalización. Mejor si una función recibe todo por parámetros y no usa variables globales compartidas.
Jerarquizar los procesos. Evitar llamadas de todo contra todo.
Buscar alguna forma de hacer pruebas, aunque sea de forma genérica. Si se puede automatizar mejor.
La técnica del Boy Scout
Los Boy Scout cada vez que salen al campo, al regresar dejan la zona un poco más limpia de lo que la encontraron al llegar.
Cuando hay que tocar código, de paso que has pasado por ahí, déjalo un poco mejor de lo que estaba.
Me gustó la comparativa con hacer artesanía, por el cariño que ponen a sus productos.
Manifiesto de un artesano o artesana del software
No sólo software que funciona, también software bien diseñado.
No sólo respondo al cambio, también agregar valor.
No sólo individuos e interacciones, también una comunidad de profesionales.
No sólo colaboración con el cliente, también asociaciones productivas.
Frases que me han llamado la atención de Robert C. Martin, autor del libro “Código limpio”
La proporción de tiempo dedicado a la lectura frente a la escritura es muy superior a 10 a 1. Constantemente leemos código antiguo como parte del esfuerzo por escribir un nuevo... [Por lo tanto,] facilitar la lectura hace que sea más fácil de escribir.
No es el lenguaje lo que hace que los programas parezcan simples. ¡Es el programador el que hace que el lenguaje parezca simple!
La duplicidad es el principal enemigo de un sistema bien diseñado.
El código limpio siempre parece escrito por alguien a quien le importa.
Un nombre descriptivo largo es mejor que un nombre corto enigmático. Un nombre descriptivo largo es mejor que un comentario descriptivo largo. Nombra una variable con el mismo cuidado con el que nombras a un primogénito.
El código limpio no solo se escribe siguiendo un conjunto de reglas. No te conviertes en un artesano de software al aprender una lista de heurísticas. El profesionalismo y la artesanía provienen de valores que impulsa la disciplina.
Una función debería hacer una sóla cosa, hacerla bien, y hacerla sólo ella.
Ley de Curly