Clean Code

Clean CodeClean Code
Calificación:
Autor: Robert C. Martin
Año: 2008
Editorial: Prentice Hall

No me gusta recurrir a los argumentos de autoridad, pero creo que es conveniente comenzar esta reseña explicando que el autor principal del libro del que os hablo hoy, Clean Code, o Código Limpio, es Robert C. Martin, a.k.a Uncle Bob, experto en desarrollo de software, miembro fundador de la Agile Alliance, primer presidente de la asociación y coautor del Manifiesto Ágil. Hechas las presentaciones, pasemos a hablar del libro.

Clean Code se estructura alrededor de una idea básica: la de que el buen código es resultado, ante todo, de prestar atención a los pequeños detalles. Muchas veces estamos tan centrados en la arquitectura, o en acumular patrones y principios que no sabemos aplicar correctamente, que no damos la importancia que se merece a otros detalles que pueden parecer menores, pero que tienen igual o mayor importancia. No olvidemos que antes de correr, se ha de aprender a andar.

Antes de comenzar a leer y coleccionar libros sobre metodología, gestión de proyectos, pruebas o diseño de software, por favor, empieza leyendo este. Es posible que muchas de las cosas que explica te parezcan obvias a estas alturas, pero creo que es preferible hacerte perder algo de tiempo, a que, por vanidad o desconocimiento, estés descuidando las bases. En todo caso, creo que es imposible no aprender al menos una cosa nueva en cada capítulo, independientemente de tu nivel.

El libro está dividido en tres partes, siendo los 13 primeros capítulos consejos razonados de cómo escribir código limpio, divididos por temáticas. Una lectura muy amena en la que se habla del aspecto que deberían tener, para que nuestro código sea limpio, los nombres, funciones, comentarios, clases, objetos, estructuras de datos, el manejo de errores y las pruebas unitarias.

El capítulo dedicado a las funciones, por ejemplo, explica que la primera regla al escribir funciones es que tienen que ser cortas; la segunda, que tienen que ser aún más cortas. También habla de la necesidad de que cada función haga una única cosa (SRP), de limitar el nivel de anidamiento y el número de parámetros, o de por qué los parámetros booleanos a modo de flag son una mala señal.

La segunda parte es el trabajo duro, donde realmente interiorizamos los conceptos que hemos estado leyendo. Consiste en un par de capítulos con casos de estudio reales (JUnit y SerialDate) en los que tienes la posibilidad de ver cómo y por qué se aplican distintas refactorizaciones para obtener, paso a paso, un código mucho más legible. Ambos ejemplos están escritos en Java, aunque no es necesario conocer el lenguaje para seguirlos. Sólo estar familiarizados con lenguajes similares.

La tercera y última parte consiste en un resumen de los olores y heurísticas explicados a través del libro, que puede servir a modo de repaso y referencia, y para empapelar la pared de alguna que otra oficina que yo conozco.

Si terminas por leer Clean Code, cosa que recomiendo encarecidamente, y te quedas con ganas de más, también me gustaría recomendarte Code Complete, uno de mis libros preferidos sobre programación. Cambiarán totalmente tu forma de entender la programación.

9 comentarios en «Clean Code»

  1. Actualmente estoy estudiando JAVA, sueño con llegar a tener una empresa dedicada al desarrollo de software en Rep. Dominicana ya que es un hueco que nadie ha llenado en este pais.

    Voy a comprar el libro que has recomendado, ya lo he visto en amazon.com.

    Gracias.

  2. Este libro es realmente bueno, a mi me gusto mucho porque me sirvio para aprender y mejorar muchas cosas.

    Te recomiendo Code Complete, que tambien lo estoy leyendo y va por buen camino.

  3. Buen post, gracias por la recomendación hace ratos lo tengo en la wishlist pero ya me decidi a leerlo. Cuando termine te cuento que me pareció 😛

    He oido que los libros de Fowler también son buenos, alguna recomendación?

  4. Pingback: 97 Things Every Programmer Should Know

  5. Pingback: La Regla del Boy Scout

  6. Pingback: La Regla del Boy Scout

Responder a ikki Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.