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.
Comentarios
Aunque uno intente seguir el buen camino, siempre hay alg˙n indeseable jefe de proyecto te obliga a tomar estas soluciones...
Publicado por: carahuevo | Septiembre 1, 2005 07:05 PM
Pues muchas veces sÌ, pero el que va a pagar los platos rotos ( mantenimiento ) vamos a ser los programadores...
Publicado por: Cesar Tardaguila | Septiembre 1, 2005 07:12 PM
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.
Publicado por: Rastafari | Septiembre 1, 2005 09:41 PM
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.
Publicado por: ramonono | Septiembre 3, 2005 10:18 PM