El otro dia escribía sobre mi intención de mejorar la forma en la que escribo código.

El libro de Clean Code de Robert C. Martin es una referencia para la mayoria de desarrolladores, así que he empezado por ahí.

Estos son algunos apuntes de los primeros cinco capítulos que me han parecido interesantes:

Sobre los nombre que usamos:

  • Usar nombre que revelen intenciones. Si vas a usar una varible para almacenar la fecha en la que se ejecuta un script, mejor llamarla CurrentDate que D.
  • Usar nombres que puedan pronunciarse. Parece de chiste, pero tiene más importancia de la que parece…
  • Usar nombres que se puedan buscar. Claro! Cómo no se me había ocurrido antes, luego nos salen 27 coincidencias y nos hacemos un lio con tanto darle a la n…
  • El nombre de una variable NO debe ser un verbo
  • Las funciones DEBEN tener un nombre con verbo, porque las usamos para hacer algo.
  • Elegir una palabra por concepto, si vas a hacer un grep de un fichero para ver si existe una palabra, le puedes llamar FindNameinFile x ej., más adelante, si vas a comprobar si un fichero tiene más de 1 linea, vuelve a usar ese verbo: FindNumberOfLines, en vez de GetNumberOfLines. Así mantienes la coherencia por concepto.

Sobre las funciones:

  • Las funciones solo deben hacer una cosa, hacerla bien y que sea su única tarea.
  • Las funciones son los verbos del código
  • A la hora de crear código, Robert C. Martin nos propone tres pasos:
  1. Estructurar ideas
  2. Primer borrador: Aquí tendremos un esbozo de las funciones que vamos a usar, los argumentos, nombres arbitrarios y seguramente código duplicado
  3. Optimizar: Toca retocar código, dividir funciones para que sólo hagan una cosa, cambiar/mejorar los nombres y eliminar duplicados.

Sobre los comentarios:

Comienza el capitulo con una gran frase:

No comente el código incorrecto, reescríbalo

  • Cuando tengas que escribir un comentario, piensa si no hay mejor manera de expresarte con el propio código.
  • Los comentarios deben ser mínimos, deja que el código hable por si mismo.
  • Los comentarios que si deben incluirse son los de derechos de autor al inicio del código y los que nos advierten de consecuencias.
  • Comentarios tipo TODO: ya sabeis, tareas que deberíamos de haber hecho, pero no hemos hecho por diversos motivos…normalmente falta de tiempo, no?
  • También dice que los comentarios que informaban de los cambios en el código están en desuso, por el hecho de que hoy en día se usa Control de Versiones.
  • ¿Sabes cuando comentas código y luego lo dejas ahí? Pues eso también esta muy feo…se acumula y luego nadie lo borra por si acaso.

Sobre los formatos:

  • Algo que no había pensado es que el estilo del código y su legibilidad afectan directamente al mantenimiento y ampliación de dicho código.
  • Las variables deben declararse de forma más aproximada a su uso, para que vas a poner CurrentDate al principio del script, si hasta la linea 70 no vas a hacer nada con ella, claro, luego pasa que vas de lado a lado en el código para ver de donde sale qué.
  • Las lineas en blanco identifican un nuevo concepto independiente.

Creo que todos deberíamos hacer un esfuerzo y seguir estas pautas a la hora de desarrollar nuestro código, me gusta la idea de que el código hable por si mismo.

¿Y tú…consideras que escribes código limpio?