Home - Archive - About Me - Feed

Clean Code

11.07.2011

Clean Code: A Handbook of Agile Software Craftsmanship es un libro que todo desarrollador debería leer al menos una vez en su vida.

Cuando se estudia programación, el centro del aprendizaje suele ser el propio lenguaje o la parte algorítmica, sin embargo otro de los aspectos más importantes de la programación es que el código sea simple, expresivo, fácil de mantener y que por supuesto, haga exactamente lo que queremos.

Contenido

El libro utiliza una gran cantidad de ejemplos y muestra muchísimo código. Algunos capítulos que me gustaría destacar son los siguientes:

  • Meaningful Names

    El primer paso para escribir buen código es que los nombres tengan significado. Las variables, métodos y clases deben tener un buen nombre para saber por qué existen y qué hacen.

  • Functions

    Las funciones tienen que ser pequeñas, deben hacer una única cosa y la deben hacer bien, manteniendo un sólo nivel de abstracción. También hay que intentar reducir el número de argumentos al mínimo.

  • Comments

    No comentes mal código, reescríbelo.

  • Formatting

    El formateo del código tiene un único propósito: la legibilidad. Aquí se describe The newspapper methapor, al leer código las primeras funciones que encontremos tienen que ser las principales y si lo deseamos podemos entrar en detalle más abajo.

  • Objects And Data Structures

    Los objetos ocultan sus datos y exponen funciones para operar con ellos, mientras que las estructuras de datos los exponen directamente.

  • Error Handling

    Hay que intentar separar la lógica de nuestra aplicación del control de excepciones, así como no devolver ni pasar valores nulos en las funciones.

  • Unit Test

    Una parte muy importante al construir aplicaciones son las pruebas y los test. Lo ideal es hacer TDD y crear un código en los test que sea igual de bueno que el del resto de la aplicación.

  • Classes

    Las clases también tienen que ser pequeñas para intentar tener una alta cohesión.

  • Emergence

    Para crear un buen diseño emergente hay que ejecutar todos los test, eliminar la duplicación de código, expresar la intención al programar y minimizar el número de clases y de métodos.

Presentación

Al finalizar el libro decidí realizar una presentación para compartir lo aprendido con mis compañeros de trabajo y también hice la presentación en el grupo de Madrid Ágil. Que la disfruten…