Código Spaguetti En Gambas


Subject: 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

Profile PM  
Subject: Re: Código Spaguetti En Gambas
tb-1200x1200-flat.2

Profile PM  
Subject: 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

Subject: 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.

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.0971s (PHP: -31% SQL: 131%)
SQL queries: 23 - Debug Off - GZIP Enabled