« Blogday 2005 | Inicio | [J2ME] Un artÌculo sobre la Mobile Media API ( JSR 135 ) »

Esto es acoplamiento

Para ver un ejemplo de acoplamiento brutal, se puede ver este post de The Daily WTF.

No es algo para tom·rselo a risa, porque antes o despuÈs lo hemos hecho todos. Muchas veces, hacer las cosas asÌ puede ser una soluciÛn r·pida y eficaz a un problema concreto, pero pobre del que tenga que mantener o aÒadir funcionalidades a ese cÛdigo.

Para eso, precisamente, est·n los patrones de diseÒo y las buenas pr·cticas en la programaciÛn orientada a objetos.

TrackBack

URL del Trackback para esta entrada:
http://ctarda.dreamhosters.com/cgi-bin/mt-tb.cgi/722

Comentarios

Aunque uno intente seguir el buen camino, siempre hay alg˙n indeseable jefe de proyecto te obliga a tomar estas soluciones...

Pues muchas veces sÌ, pero el que va a pagar los platos rotos ( mantenimiento ) vamos a ser los programadores...

El ejemplo del color es bueno, tirar cÛdigo asÌ desde luego es para que le pongan a uno delante de un peloton de fusilamiento, pero mucho m·s terrible es que conozco muchos programadores "profesionales" que ante un cÛdigo asÌ dirian algo como: "øy que tiene de malo?, funciona øno?".

Recuerdo una aplicaciÛn es mis inicios en esto donde me tope con un "bug" con el que me costo bastante dar por un tema muy similar. Basicamente el programador original de la aplicaciÛn usaba el texto que aparecia en los botones para hacer una u otra cosa. En alg˙n lugar recondito del cÛdigo tenia algo como:

if ultimo_boton_presionado.caption = "fulano"
....
else if ultimo_boton_presionado.caption = "mengano"
....

"Sorprendentemente" la aplicaciÛn dejo de funcionar al traducir los textos de la interfaz a otro idiomna (concretament e fue al portuges). Lo peor es que cuando detecte el problema y le pregunte a mi an·lista: "oye mira pasa tal øcomo me recomiendas arreglarlo?", la respuesta fue: "ahhh que alivio, øsÛlo es eso?, pues nada hombre pon un OR en esos if y asÌ funcionar· en los dos idiomas"... y por la cara que puso estoy seguro que el tio para sus adentros penso algo como: "juas, juas, soy el an·lista m·quinote con sÛluciones para todo, °hasta se me ha ocurrido una para que funcione en los dos idiomas a la vez!

Caso real, no es ficciÛn, lo juro.

Pues justo asÌ nos enseÒaban a programar en Delphi en el mÛdulo de FP de DAI (desarrollo de aplicaciones inform·ticas).

"si en el botÛn pone 'A', haz 'a', si en el botÛn pone 'B', haz 'b'."

Hale, ya sabeis de donde salen estas cosas.

PD: Prometo que no lo volverÈ a hacer.

PPD: Que lo haga un FPito, puede ser perdonable (ni siquiera nos enseÒan POO), pero lo del seÒor analista ese es de llamar a la inquisiciÛn.

Publicar un comentario

(Si no dejó aquí ningún comentario anteriormente, quizás necesite aprobación por parte del dueño del sitio, antes de que el comentario aparezca. Hasta entonces, no se mostrará en la entrada. Gracias por su paciencia).