Publicado el Wednesday 04 de April del 2007 @ 23:22 por Armonth.
Se dice que en algunos casos la mirada de alguien inexperto puede solucionar o al menos detectar un problema que el experto no ha sido capaz. Con esa idea en mente he tenido una relajada charla con un programador que suele usar sus propios programas para todo lo que puede (salvo lo que por ser poco práctico en términos de tiempo de implementar es mejor reutilizar: bibliotecas, sistemas operativos, software libre o software que haga uso de drivers).
Yo no soy programador, pero a simple vista se puede apreciar si un código es muy empalagoso, ofuscado o todo lo contrario: elegante. No miento si digo que me han llegado a enseñar auténticos abortos que merecen estar en un museo (informático) del horror…
Eso unido a las muchas experiencias que me han contado de personas que llegan a su trabajo para lidiar con un proyecto a medias poco o nada documentado y con “código espagueti” me hacen pensar ¿tan poco cala la idea de programar código elegante?.
El ideal debe estar más cercana a la del principio KISS que no de “corre que nos pilla el toro” o tirando de citas:
Cualquier tonto puede escribir código que un ordenador pueda comprender. Los buenos programadores escriben código que los humanos pueden comprender.
– Martin Fowler.
Ahora, quizá piensas lo contrario, en tal caso también se puede tirar de clásicos como el “How To Write Unmaintainable Code“, una sátira al respecto.
Lo triste es que hay gente que está convencida que escribir código “imposible de mantener” (chapuzas y más chapuzas…) sirve para “asegurarse de conservar el trabajo” (sigh…).
También hay otra situación muy delicada cuando empiezas a trabajar en una nueva empresa y ves que el código es horrible, y a ver como le dices al programador de turno que su código es una mierda y hay que hacer muchos cambios :-(
Esa cita de Martin Fowler no vale para los programadores de perl.
Los gurús de perl son conocidos por escribir código críptico, a como funciona ese código le llaman “la magia”.
:D :D muuy bueno, no lo había oido.
Ahora mismo estoy reescribiendo por 4ª vez el mismo módulo de una aplicación en la que llevo trabajando 2 años. Por que?.
La primera no la hice yo.
La segunda fue un parcheo rápido que hice para arreglarla lo más rápido posible sin respetar demasiado el “diseño” previo (por llamarlo de alguna manera).
La tercera para añadir funcionalidades a cascoporro con la fecha de entrega soplándome detrás de las orejas.
La cuarta para que cuando me toque repetir la tercera, me lleve menos tiempo. O sea, que por fin he conseguido que me den algo de tiempo para hacerlo en condiciones en lugar de pasarme a otro proyecto (cosa que estoy deseando).
Normalmente, no se tiene el lujo de tener una cuarta vez. Para mi, es otra de las bellezas del software libre. En el mundo empresarial/privativo lo importante es clavar la aplicación, clavar la factura y a otra cosa. En el SL las prioridades son otras.