Componente O Biblioteca ?


Ir a la página 1, 2  Siguiente

Objetivo: Componente O Biblioteca ?
Hola a todos.
Estoy pasando en limpio las mas de 20 copias que tengo dispersadas de las funciones (cada programa tiene mas o menos una copia) porque al final es un caos total, nunca se cual es la que funciona bien.
El caso es que vi un par de post de Vuott sobre como crear una biblioteca y de hecho lo estoy haciendo así.
Pero para poner funciones o subrutinas que hacen cosas con archivos por ejemplo ¿Es mejor un componente?.
Luego otro tema.
Tambien tengo algunos formularios simples y que son repetitivos en todos los programas, ellos son el de Acerca de y Configuración
¿Con estos conviene que cree un componente ?
Gracias de antemano.
Saludos.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
En esencia la diferencia entre un Componente y una librería reside en que el Componente debe ser instalado en el sistema.

última edición por vuott el Lunes, 09 Septiembre 2019, 14:56; editado 1 vez
Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
vuott escribió: [Ver mensaje]
En esencia la diferencia entre un Componente y una librería reside en que el Componente debe ser instalado en el sistema.


Gracias con estas palabras he aprendido un poquito mas.

Saludos, vuott

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
vuott escribió: [Ver mensaje]
.... y una librería ....


Está claro que yo estoy hablando de las librerias .gambas !!!

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
vuott escribió: [Ver mensaje]
vuott escribió: [Ver mensaje]
.... y una librería ....

Está claro que yo estoy hablando de las librerias .gambas !!!

Si, por supuesto Vuott. eso esta claro. Leí tu articulo en el wiki italiano y esta todo claro.
Mi pregunta va mas en la dirección del uso cotidiano de esta forma de trabajo.
Mas bien si alguien usa este método y que comente su experiencia de uso mas que de la creación.
Si es practico, si luego presenta alguna dificultad.
¿Que pasa cuando hay una nueva librería hay que copiarla en todas partes?
¿Conviene nombrar las librerías con versiones libreria_0.0.4.gambas o por el contrario solo libreria.gambas?
Saludos.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
tincho escribió: [Ver mensaje]

¿Que pasa cuando hay una nueva librería hay que copiarla en todas partes?
¿Conviene nombrar las librerías con versiones libreria_0.0.4.gambas o por el contrario solo libreria.gambas?
Saludos.


Desde mi experiencia.

¿Que pasa cuando hay una nueva librería hay que copiarla en todas partes?

Debe ser añadida a cada proyecto y con eso ya es suficiente


¿Conviene nombrar las librerías con versiones libreria_0.0.4.gambas o por el contrario solo libreria.gambas?

Yo en lo personal tengo la librería y dentro en la cabecera describo las novedades y si quieres le pones un número que lo vas a renovar tu a mano. Por otra parte simplemente ten un control de código fuente para que te lleve los cambios, es algo muy necesario.

Y si es multiusuario los cambios sobre la librería, lo normal es que la lleve un usuario normalmente o si lo hacen en grupo es muy importante que tenga un control de fuentes para un grupo de programadores.

Espero que esto conteste mas o menos tu duda.

Saludos, joven.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
tincho escribió: [Ver mensaje]
vuott escribió: [Ver mensaje]
vuott escribió: [Ver mensaje]
.... y una librería ....

Está claro que yo estoy hablando de las librerias .gambas !!!

Si, por supuesto Vuott. eso esta claro. Leí tu articulo en el wiki italiano y esta todo claro.
Mi pregunta va mas en la dirección del uso cotidiano de esta forma de trabajo.
Mas bien si alguien usa este método y que comente su experiencia de uso mas que de la creación.
Si es practico, si luego presenta alguna dificultad.
¿Que pasa cuando hay una nueva librería hay que copiarla en todas partes?
¿Conviene nombrar las librerías con versiones libreria_0.0.4.gambas o por el contrario solo libreria.gambas?
Saludos.


Yo empecé a utilizarlo hace años y lo abandoné. Eso de tener una copia en cada sitio y mantenerla actualizada en todos... era un caos para mí. Lo sustituí por el mucho más simple y directo sistema de tener todos los controles y módulos que quiero compartir en una carpeta (de hecho en una carpeta .src de un proyecto) y hacer un enlace simbólico a dicha carpeta dentro del .src de cada proyecto.

Saludos.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
shordi escribió: [Ver mensaje]
tincho escribió: [Ver mensaje]
vuott escribió: [Ver mensaje]
[quote user="vuott" post="46212"].... y una librería ....[/quote]
Está claro que yo estoy hablando de las librerias .gambas !!!

Si, por supuesto Vuott. eso esta claro. Leí tu articulo en el wiki italiano y esta todo claro.
Mi pregunta va mas en la dirección del uso cotidiano de esta forma de trabajo.
Mas bien si alguien usa este método y que comente su experiencia de uso mas que de la creación.
Si es practico, si luego presenta alguna dificultad.
¿Que pasa cuando hay una nueva librería hay que copiarla en todas partes?
¿Conviene nombrar las librerías con versiones libreria_0.0.4.gambas o por el contrario solo libreria.gambas?
Saludos.


Yo empecé a utilizarlo hace años y lo abandoné. Eso de tener una copia en cada sitio y mantenerla actualizada en todos... era un caos para mí. Lo sustituí por el mucho más simple y directo sistema de tener todos los controles y módulos que quiero compartir en una carpeta (de hecho en una carpeta .src de un proyecto) y hacer un enlace simbólico a dicha carpeta dentro del .src de cada proyecto.

Saludos.


Perfecto tu experiencia lo dice, y supongo que tendrás un argumento sólido.

Yo pensaba que con que una haga las librerías en gambas y después en cada proyecto nuevo la incorpora pues ya va en el ejecutable y listo. No veo ningún problema, pero supongo que podrías explicarme cuales problemas ves tu.

En fin ir a la meta por diferentes caminos.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?
Citar:
Perfecto tu experiencia lo dice, y supongo que tendrás un argumento sólido.

Yo pensaba que con que una haga las librerías en gambas y después en cada proyecto nuevo la incorpora pues ya va en el ejecutable y listo. No veo ningún problema, pero supongo que podrías explicarme cuales problemas ves tu.


Es muy sencillo (o no):

Con las librerías compiladas:
Supón que tienes esa función que subió Tincho hace un par de días que busca duplicados en un array. La pones en tu librería. Genial.
Ahora supón que tienes cuatro o cinco proyectos que la usan y a los que colocas la biblioteca. Guay.
Ya buscas duplicados en todos.
Ahora, pasan dos años (como ejemplo de tiempo suficiente para no tener muy claro cómo y en qué situaciones usas dicha función en cada proyecto) y te das cuenta por un bug en el proyecto que ahora te traes entre manos, de que no le has puesto el Trim. Vale, buscas el proyecto de la librería, lo modificas, actualizas y lo copias en el proyecto que ahora estás haciendo... ¿y qué pasa con los otros? Que mentalmente anotas "actualizar la librería en los otros proyectos". Terminas el que estás haciendo y buscas uno de los otros y lo actualizas. Lo pruebas y ¡Oh cielos! la modificación última revienta el programa, que necesitaba los espacios aquellos que el trim ha eliminado. ¿Ahora qué? ¿Haces un fork de la librería? ¿Divides esa función en dos, una con trim y otra sin trim y actualizas todos los programas que usan la librería? ¿En cuáles de esos programas el cambio del trim será insignificante y en cuántos no?. No lo sabes, por lo que dejas para luego esa investigación, que ahora tienes plazos que cumplir.
Un mes después tienes un rato libre. ¿Por dónde empiezas? ¿Por acoplar la última, en la que hiciste el fork a las demás?, eso implica probarlos todos otra vez, claro, empezando por aquél en el que descubriste el error del trim... Lo peor es que aún no tiene muy claro qué efecto tendrá ese potaje en los programas más antiguos que aún no has tocado y de los que no recuerdas muy bien cómo manejaban la función o si la manejaban siquiera... etc. etc.
Si lo vuelves a dejar para luego te puedes encontrar con que has tenido que modificar otra vez la misma o, peor, otras distintas... que también pueden generar conflictos con los antiguos o, peor, con los nuevos...

Con el enlace simbólico:

Tienes un proyecto donde están las funciones. Lo enlazas con tus programas. Un día descubres el bug y lo corriges, queda corregido en todos, claro. Ahora tienes que retocar uno de los antiguos y ¡Oh Cielos! aparece un error en la función, donde antes no aparecía... ¡Ah, claro, que es que la modifiqué! mmmm... para éste, que es rarito, copio y pego el código en una nueva local, lo adapto a su rareza con un nombre nuevo y ya tengo hecho el fork. En los demás proyectos no tengo que tocar nada y todos están ya actualizados, claro.

Más o menos...

Saludos.

Perfil MP  
Objetivo: Re: Componente O Biblioteca ?


Shordi perdóname tu no tienes la culpa soy yo. Pero me he leído la historia y tienes razón, pero para mi es exactamente lo mismo a no ser que en Linux, "No se trabaje igual con los ejecutable", en Windows, tu tienes todos los proyectos y mantienes una librería común (para mi son códigos absolutamente genéricos y no personalizables, para personalizar para mi están los módulos, pero es mi concepto) a todo, y cuando detectas una librería con una falla, le das una versión nueva del programa a todos los usuarios, ya esta probada y depurada, con la librería común para todos los desarrollos que tengas. Y todo perfecto para ti y para tus usuarios.

---
Lo de Trim o no, en realidad para mi quedo, claro.

El problema no era de tincho ni de su función, era en realidad que tenia que corregir la entrada de datos de la conversión del CSV a SQLite3 y de hecho lo que he hecho como medida es filtrar en la conversión y dotar de inteligencia a este problema para que me lo comunique, osea, filtro el error en la entrada a SQLite e informo al usuario directamente con el problema que debe corregir en la base de datos de la aplicación de Android.
--

Se que esto sobra, lo del "Trim", pero lo que quería aclarar es que digamos le no es problema de la función y si de la conversión.

Sinceramente lo que cuentas yo ahora estoy probándolo y si me gusta, pero no creo que las librerías sean tan malas ni que los módulos sean la panacea.

Por supuesto lo que tengo claro en esta conversación, es que voy a probar ambas experiencias y me voy a tomar muy enserio tus explicaciones no creo que hables por hablar y se que lo cuentas con toda buena intención de guiar a todo por el buen camino.

De verdad muchas gracias shordi ya sabes que te tengo siempre en cuenta pero soy duro de mollera y necesito analizar con mas tiempo y pruebas lo que piensas.

Saludos, joven.

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
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.0942s (PHP: -20% SQL: 120%)
Consultas SQL: 24 - Debug off - GZIP Activado