/ código limpio

La importancia del código limpio

Durante mucho tiempo en NopalDev hemos escrito código solo por disfrute propio. Al menos yo cuando comenzaba, siempre que regresaba a modificar o actualizar cierta funcionalidad, mi yo del presente maldecía a mi yo del pasado. Código cero mantenible y, por lo tanto, cero legible.

En teoría, en el mundo real empresarial o en proyectos de emprendimiento no debería de pasar, puesto que el código que se hace en estos entornos es leído y mantenido por muchas personas y debería de ser lo suficientemente legible para todos. Pero por desgracia, no es así.

De hecho, hace unos pocos días leía una entrada del blog de Dropbox sobre la salida de Guido van Rossum del equipo. Una de las tantas cosas que hizo fue mantener y fomentar una cultura de código limpio dentro de los equipos de desarrollo.

Cuando Guido llego a Dropbox, encontró que el equipo estaba conformado por personas sumamente listas y con habilidades de programación y análisis excelentes. Al ver el código desarrollado por ellos, se dio cuenta que era sumamente óptimo pero también, difícil de leer ¿Qué pasaría cuando llegaran nuevos ingenieros de software a modificar este código? Buena pregunta ¿no? Así que propuso crear código legible y mantenible sobre óptimo e inteligente.

Bueno y a todo esto, ¿Qué es el código limpio? Para mi, es aquel que está escrito como un buen texto. Que expone de manera clara de que va el sistema, su motivo principal de existencia, su dominio de negocio.

ilya-pavlov-OqtafYT5kTw-unsplash-min

El código limpio como pieza clave del mantenimiento

Guido tuvo razón, ¿cuantas veces no tenemos una pesadilla en la oficina porque existe código con malas practicas? Te pondré un ejemplo:

Hace mucho tiempo trabajé en un proyecto en el que en cierta parte del código existían 15 variables nombradas desde el uno al quince. Para mi sorpresa la variable que debería llamarse once, se llamaba dieciuno, la variable doce: diecidos y así hasta el diecicinco. ¿De verdad? ¿Para que servían? Sigo sin saberlo. Otro ejemplo más escabroso es el que ya contamos anteriormente y del como José se peleaba con variables de un carácter y funciones llamadas gf.

Para nuestra (todavía) mala suerte, este tipo de proyectos carece de documentación. ¡Qué lindo sería que nuestro código se auto-documente!… que por golpe de vista entendamos que es un software de gestión administrativa y no otra solución de Spring. y todo gracias a un buen código. Un código limpio.

Esto requiere disciplina y enfoque. Es un trabajo duro que ofrece una recompensa valiosa: mantenimiento sin dolor.

¿Cómo empiezo?

  1. La mayor referencia de código limpio es el libro del mismo nombre, escrito por Robert C. Martin. Existen mas referencias (como Code Complete) pero este es suficiente para empezar.

  2. Empieza a refactorizar tus side-projects guiado por el libro y cuidando de no romper la funcionalidad existente.

  3. Implementa una cultura de código limpio en tu equipo… y que sea tan importante como tus estándares de codificación.

  4. Primero legible-mantenible vs optimo-inteligente.

  5. No dejes pasar por ningún motivo el código sucio, recuerda la teoría de las ventanas rotas. Si otros ven en la solución código sucio, creéran que es correcto.

  6. Integra uno o más días de refactorización en tus sprints.

Eduardo Montalvo

Eduardo Montalvo

Programador con intereses en machine learning, clean code, arquitecturas de software y formación de equipos técnicos.

Read More