SOFTWARE CRAFTMANSHIP - 001


A continuación les dejo con la primera entrega de la traducción y resumen del libro
que a mi entender es uno de los mejores libros para formarnos como mejores programadores.

Código Malo

Conozco una compañía que a finales de los 80’s escribió una aplicación espectacular. Era muy popular y muchos profesionales la compraron y usaron. Pero luego las versiones posteriores mostraron síntomas de decadencia. Los problemas (Bugs) no eran corregidos de una versión a la siguiente. Los tiempos de carga (Load Times) crecieron y con sigo las paradas inesperadas (Crashes). Recuerdo el día en que, con frustración, detuve la aplicación y deje de usarla para siempre, más tarde la empresa quebró y salió del negocio.


Dos décadas después conocí a uno de sus desarrolladores iniciales y le pregunte lo que había ocurrido. La respuesta confirmó mis temores. Habían apresurado las salidas al mercado de nuevas versiones creando con sigo un gran desastre en el código. A medida que agregaban mas y mas características, el código fue peor y peor hasta que simplemente se volvió inmanejable. Fue el mal código que llevo la compañía a la bancarrota.


Que es Código Limpio?

Hay probablemente tantas definiciones de código limpio como programadores existen. Así que le pedí la definición a algunos de los más conocidos y profundamente experimentados programadores que conozco.



Bjarne Stroustrup, inventor de C++ y autor del libro “The C++ Programming Language” dice:



“Me gusta que mi código sea elegante y eficiente. La lógica debe ser transparente a tal nivel que a los fallos (Bugs) se les haga difícil esconderse, llevar la dependencia al mínimo facilita el mantenimiento, el manejo de excepciones se completa acorde a una articulada estrategia, que el desempeño esté tan cercano al punto óptimo que desmotive la inserción de código desordenado lleno de optimizaciones sin principios. El código limpio hace una sola cosa bien.”




Grady Booch, autor de “Object Oriented Analysis and Design with Applications” dice:



“El código limpio es simple y directo. El código limpio se lee como una prosa bien escrita. El código limpio nunca oscurece la intención del diseñador, en su lugar esta lleno de flamantes abstracciones y líneas de control concretas.”



Ward Cunningham, inventor de Wiki, Fit, co-inventor de eXtreme Programming, Precursor de los Patrones de Diseño, comenta:



“Sabes que trabajas con código limpio cuando cada rutina que lees es muy parecido a lo que esperabas encontrar. Puedes llamarlo código artesanal cuando el código hace que parezca que el lenguaje fue hecho para el problema”




La regla del Niño Explorador (Boy Scout Rule)



No es suficiente con escribir bien el código. El código tiene que mantenerse limpio con el tiempo. Todos hemos visto como el código se degrada con el tiempo. Así que debemos tomar un rol activo en evitar que esta degradación ocurra.


El lema, como el de los Boy Scout debe ser :



“Deja el lugar más limpio de como lo encontraste”


Comentarios

Entradas populares