Mantenlo Sencillo, Estúpido

Leonardo Herrera
Creado: 18/3/2003
Última Actualización: 21/9/2004

Que título más fuerte, ¿eh?. Es la traducción de uno de los principios fundamentales durante el diseño de UNIX, el famoso acrónimo KISS (Keep It Simple, Stupid). Estos días he estado pensando muchísimo en esto, pues estoy en una etapa en mi trabajo en que tuve que mejorar código antiguo. Esto puede ser realmente doloroso.

Casi siempre el mantener algo dentro de los límites de la simplicidad es una tarea complicada. Es realmente difícil hacer cosas simples; aunque suene extraño, con el tiempo uno se da cuenta de que es verdad. En el campo de la programación esto es especialmente verdadero, pues además sucede que la mayoría de los programadores no son buenos; la Bell Curve en su máxima expresión. Gran tiempo de los programadores transcurre (o debería) creando librerías, que contienen funciones de uso frecuente, y que abarcan funcionalidades comunes a un área del proyecto (por ejemplo, una librería de entrada y salida a disco). El problema es que el crear una buena librería que sea útil a todos los participantes de un proyecto es más cercano a la arquitectura y al diseño que a la programación pura y dura; y la abstracción parece estar contenida en una parte del cerebro que no todos han desarrollado de igual forma. Finalmente, la mayor parte de los programadores tienen en su librería cinco o seis funciones que hacen más o menos la misma cosa (a veces, sólo varían en el número de argumentos o en un comportamiento menor)

Hay veces en que, hay que decirlo, el refactoring no puede con la simple estupidez de la gente.

Hay otra razón por la que algunos programadores crean código complicado, y es el estilo Macho: "si no entiendes este código, no merece la pena que lo intentes". He visto pocos casos de estos, para ser justo. La mayoría se debe a la falta de planificación, y al Copy-Paste. Es más fácil pegar un trozo de código que detenerse a pensar, buscar el factor común y crear una función. Un ejemplo de otra área. Margo Feiden, la representante del recientemente fallecido Al Hirschfeld, le preguntó: "Hay veces en que tu dibujas una escena de teatro con escenografía elaborada, disfraces extravagantes y elencos de cientos, pero el dibujo es simple. Otras veces la escena es sencilla y los disfraces son nada más que ropa común, pero el dibujo es complicado. ¿Eso significa que cuando tienes tiempo haces dibujos más complicados y cuando estás apurado haces dibujos más sencillos?"

"No", respondió. "Cuando estoy apurado, hago un dibujo complicado. Cuando tengo tiempo, hago uno sencillo".

(La moraleja, para el que no entienda, es que sencillo no significa más fácil... la elegancia está en la simpleza)

Para no aburrirlos más, acá hay lectura útil.

Este sitio es mantenido con ePublish