Código Spaguetti En Gambas


Objetivo: Código Spaguetti En Gambas
Cuando uno tiene en marcha proyectos que llevan años funcionando, es muy normal que el código se vuelva incoherente. Es decir, algunos trozos reflejan una forma de programar, otros otra; unos usan componentes nuevos y otros hacen el mismo trabajo "a pelo", etc. etc.
El tema viene del famoso "si funciona, no lo toques". Yo tengo aplicaciones "de las gordas" que tienen algunos formularios con código heredado de gambas2 con más de 8 años de antiguedad... y así.
Pero, aún así, he aquí mi sorpresa cuando ésta tarde me he puesto a rebuscar un poquito entre el código fuente de gambas y me he encontrado en el código del componente GridView, tan utilizado, tan heredado por otras clases, etc. etc. algunos ejemplos de código espaguetti, funciones con más de 500 líneas plagaditas de GOTO PARA_ALLÁ y GOTO_ PARA_ACÄ.
Indudablemente funciona. Indudablemente, GOTO y compañía es un recurso más del lenguaje, pero aún así... no sé si aplaudir el desparpajo y la eficiencia o restregarme los ojos doloridos por la estética del asunto.

marty_feldman_ameri_186080m1

Perfil MP  
Objetivo: Re: Código Spaguetti En Gambas
tb-1200x1200-flat.2

Perfil MP  
Objetivo: Re: Código Spaguetti En Gambas
Hola!.

No deja de ser una chapuza. Sobre todo en la época que estamos y los recursos que nos ofrecen los lenguajes, cosa que los de antes no podían.
Si es que miro basic de los 80 (dependiendo del ordenador) y es que no se como podían hacer eso. ( Como se las ideaban )

Por un momento imaginar que os habéis llevados un montón de años con el basic de un 8 bit por el cariño o por que os gusta.
Una vez conocéis lenguajes mas actuales, cuando queréis intentar hacer lo mismo o parecido en aquellos basic 's de antaño,
es que hay cosas que no sabrías ni por donde empezar.

Comienza con los Gosubs y Returns, con los Gotos, las funciones..una historia.

Y uno de los problemas que nos podemos encontrar es la manera o la forma en la que hacemos las cosas (la fijación que tenemos en hacerlas
de una manera absoluta, a veces) y no contemplar otras posibilidades. (que las hay, seguro).

El buscar una solución lo más rápida posible. Aunque luego resulta que no era tan rápida.
Traduciéndose luego a un código menos efectivo, menos comprensible y mas lento.

Seria contradictorio que en otros lenguajes fuera creado de otra forma mas aprovechando los recursos del lenguaje y
que luego en nuestro basic, no, no sea así. Con lo que volveríamos al problema y la critica de siempre.
Tachando al basic de mal lenguaje.

Desde luego nos enfrentamos a un problema difícil de resolver, el tiempo. Cosa que siempre falta.
Dice un refrán: , "No dejes para mañana lo que puedas hacer hoy".

Y es que los problemas se van acumulando uno tras otro.

Se debe practicar con el ejemplo. El problema a los que se enfrenta un profesional es algo distinto. Exigencia, estrés, limite de tiempo,
salida rápida. Que no quita en parte la picaresca del programador. Estamos acostumbrado a ver esto..versión, versión..versión..

Que por cierto, hace unos días hubo muchas nuevas versiones de gambas, de dos a tres, continuas.

Cuestión:

Jorge, ¿ viste algún comentario especial en el código del GridView ?. Del tipo, "hacer, reparar..." ( Que menos!)

Saludos

Objetivo: Re: Código Spaguetti En Gambas
Citar:

Jorge, ¿ viste algún comentario especial en el código del GridView ?. Del tipo, "hacer, reparar..." ( Que menos!)

Pues no recuerdo muy bien. Sí tiene pequeñas funciones comentadas, algunas porque son relativas al debug, y otras... pos no sé. Ese día estuve trasteando con mucho código fuente del gambas y no recuerdo muy bien el código del gridview en concreto.

Lo que sí encontré fueron más GOTOS en otras clases "básicas" de gambas. Yo creo que es más bien fruto del "Si funciona, no lo toques" que de otra cosa. El estilo del código de esas clases no parece obra de Benoit... por comparación con otros códigos.

Por cierto, ahora que no me oyen de los pesos pesados que he podido identificar vía código: Fabien, algo caótico. Benoit y Tobi perfectos.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0672s (PHP: -17% SQL: 117%)
Consultas SQL: 29 - Debug off - GZIP Activado