PDA

Ver la Versión Completa : Facturlinex busca colaboradores


el-mono
08-06-2011, 22:03:08
Este excelente proyecto de gestion desarrollado en Lazarus (version 2.0) esta buscando como dice el titulo gente que quiera colaborar en este proyecto para darle el impulso que necesita para hacerlo masivo. Aqui les dejo toda la nota para que el que quiera se ponga en contacto con ellos:

http://sourceforge.net/apps/phpbb/facturlinex/viewtopic.php?f=9&t=557

Espero que este proyecto sea apoyado ya que es un muy buen sistema de gestion.

:)

Casimiro Notevi
08-06-2011, 22:22:28
Estupendo, gracias por avisarnos.

rretamar
08-06-2011, 23:03:18
Gracias por la información. Le daré una mirada.

ElKurgan
09-06-2011, 07:17:30
Gracias por la Info

Un saludo

mamcx
09-06-2011, 19:16:31
Hace un tiempo pense en meterme a colaborar como desarrollador en ese proyecto...

Pero con perlas como esta, es claro que es una patada:

http://facturlinex.svn.sourceforge.net/viewvc/facturlinex/trunk/Facturar/facturar.pas?revision=435&view=markup

procedure TFFacturar.BitBtn2Click(Sender: TObject);
var
TxtQ: String;
begin
{ TODO 1 -oNicolas -cFacturar : Hay que ver la suma de los albaranes y comprobar el minimo a facturar
}
if (Edit1.Text='') or (Edit2.Text='') then exit;
if ComboBox4.Text='' then exit;
SerieABorrar:='TODAS LAS SERIES';// Me quedo con la serie para borrar albaranes facturados
if ComboBox4.Text<>'TODAS LAS SERIES' then
begin
if not dbSeries.Locate('SF1',ComboBox4.Text,[]) then
begin showmessage('La serie activa no existe.'); exit; end;
SerieABorrar:=dbSeries.FieldByName('SF0').AsString;// Me quedo con la serie para borrar albaranes facturados
end;
//------------- Albaranes
TxtQ:='SELECT *,MID(AC11,1,250) as ANOTAS,C1 FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"';//---- Los marcados
if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
TxtQ:=TxtQ+' ORDER BY AC0,AC1';
dbAlbacc.Active:=False; dbAlbacc.Sql.Text:=TxtQ; dbAlbacc.Active:=True;
dbAlbacc.First;
//------------- Facturas a realizar
TxtQ:='SELECT AC0,COUNT(AC3),SUM(AC4),SUM(AC4),SUM(AC5),SUM(AC8),SUM(AC9),C1 FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"';//---- Los marcados
if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
TxtQ:=TxtQ+' GROUP BY AC0 ORDER BY AC0';
dbMuestraf.Active:=False; dbMuestraf.Sql.Text:=TxtQ; dbMuestraf.Active:=True;
dbMuestraf.First;
//------------------- Sumas
TxtQ:='SELECT SUM(AC4),SUM(AC5),SUM(AC8),SUM(AC9) FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"';//---- Los marcados
if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
dbSumas.Active:=False; dbSumas.Sql.Text:=TxtQ; dbSumas.Active:=True;
dbSumas.First;
StaticText4.Caption:=IntToStr(dbAlbacc.RecordCount);//-------- N. Albaranes.
StaticText5.Caption:=IntToStr(dbMuestraf.RecordCount);//-------- N. Facturas
StaticText2.Caption:=dbSumas.Fields[0].AsString;//--------- N. Lineas.
StaticText3.Caption:=FormatFloat('0.00',dbSumas.Fields[1].AsFloat);//--------- N. Articulos.
StaticText7.Caption:=FormatFloat('0.00',dbSumas.Fields[2].AsFloat);//--------- Importe
StaticText8.Caption:=FormatFloat('0.00',dbSumas.Fields[3].AsFloat);//--------- Importe + impuestos
dbSumas.Active:=False;
if dbAlbacc.RecordCount>0 then BitBtn3.Enabled:=True;
end;


Si, asi se llaman los campos: AC0,AC1 y demas.

Un proyecto asi debe morir, no recibir ayuda. Habria que refactorizar demasiado para tener algo estable.

Casimiro Notevi
09-06-2011, 20:34:42
Ya hace algunos años que vi el código fuente porque es un proyecto open source, al principio me pareció extraño, pero tampoco es para tanto, es cuestión de tener la estructura de las tablas y el significado de cada campo.
Sólo por ese motivo no creo que deba ser llevado a la silla eléctrica :)
Es más, facturlinex, contalinex, etc. se inició por un proyecto de la Junta de Extremadura (España) para promocionar el software libre junto a la distro Linex (que es la que se entrega en los colegios, universidades, etc. de esa comunidad autonómica), y además querían que llegase a las empresas, por eso se decidió hacer esos programas de gestión. Con Linex y con esos programas se ha intentado ahorrar mucho dinero para los ciudadanos al no tener que pagar a microsoft por licencias. Y ha recibido algunos premios nacionales e internacionales.
Cierto que nada es perfecto, también hay cosas "malas" en todo esto, teniendo en cuenta que lo promovió un "ente" político.

Kipow
09-06-2011, 22:48:04
Interesante, el codigo pues como bien dice Casimiro todo se puede arreglar en esta vida, si el producto final funciona pues no hay nada como una reingenieria de los estandares utilizados (si es que se utilizaron) para mejorar la aplicacion.

Vamos a hecharle un vistazo a ver que tal.

mamcx
09-06-2011, 23:20:51
pero tampoco es para tanto, es cuestión de tener la estructura de las tablas y el significado de cada campo.

.
.
.
para promocionar el software libre
.
.
.
se ha intentado ahorrar mucho dinero para los ciudadanos al no tener que pagar a microsoft por licencias.

Pues con ejemplos asi de software libre, quien puede argumentar que realmente produce productos de mejor calidad?

Ese es el tipico diseño de un programa hecho para hacer PERDER plata y tiempo. Una estructura terrible. Un codigo spaguetti. Servicios técnicos de por vida garantizados.

Yo que estaba metido hasta las narices en todo eso de los ERPs no había visto unos estándares tan malos ni en el mas terriblemente codificado ERP de la región (y venga que si hay malos!).

Es vergonzoso que este hecho en Delphi. Se parece una nomina que compro una empresa en la que trabaje visual basic, solo que el codigo de la nomina se entiende mas. Al menos las variables no eran C01, C02...

----

Y obvio que mi opinion importa un comino. El proyecto lleva su tiempo y me imagino que se habra usado con "exito" en muchas empresas (ni que fuera la primera vez que un programa asi se vuelve popular!), pero la verdad que me dio con un golpe bajo ver el proyecto de nuevo....

Kipow
09-06-2011, 23:59:07
Pues con ejemplos asi de software libre, quien puede argumentar que realmente produce productos de mejor calidad?

Ese es el tipico diseño de un programa hecho para hacer PERDER plata y tiempo. Una estructura terrible. Un codigo spaguetti. Servicios técnicos de por vida garantizados.

Yo que estaba metido hasta las narices en todo eso de los ERPs no había visto unos estándares tan malos ni en el mas terriblemente codificado ERP de la región (y venga que si hay malos!).

Es vergonzoso que este hecho en Delphi. Se parece una nomina que compro una empresa en la que trabaje visual basic, solo que el codigo de la nomina se entiende mas. Al menos las variables no eran C01, C02...

----

Y obvio que mi opinion importa un comino. El proyecto lleva su tiempo y me imagino que se habra usado con "exito" en muchas empresas (ni que fuera la primera vez que un programa asi se vuelve popular!), pero la verdad que me dio con un golpe bajo ver el proyecto de nuevo....

Tranquilo mamcx por lo que veo si te lo estas tomando muy en serio, yo he pasado tambien por muy malas experiencias en proyectos hechos literalmente con las PATAS, darle mantenimiento a esos sistemas se vuelve super tedioso y en algunas ocasiones hasta desesperante (dan ganas de arrancarse los cabellos). pero si revisando un poco mas del codigo que colocaste me parece que he visto peores jajaja.

Chris
10-06-2011, 00:04:54
Y yo que pensaba que había visto código horribles... pero este si que la partió... Hasta debuguear lo más sencillo se te hace difícil porque hay más de dos instrucciones en una sola línea.

Es una lástima, pero con códigos así, más bien ahuyentan a los desarrolladores.

Al González
10-06-2011, 00:21:35
Pues con ejemplos asi de software libre, quien puede argumentar que realmente produce productos de mejor calidad?
No entendí esta parte de tu comentario.

Y obvio que mi opinion importa un comino.
Siento que importaría más si te esforzaras un poco en respetar los acentos y en abrirte a líneas de pensamiento menos capitalistas. Se ve terrible que un emprendedor de tu talla muestre tal desprecio por el idioma en el cual se comunica y tal adoración por los ejemplos de acumulación de riqueza material.

El proyecto lleva su tiempo y me imagino que se habra usado con "exito" en muchas empresas...
Pues eso dependerá de lo que en cada caso y para cada quien signifique "éxito". :)

Lo que sí comparto contigo es lo espantosa que está esa muestra de código. :D

Yo no invitaría a los creadores del proyecto a matar éste. Mi sugerencia sería rediseñarlo con la asistencia de dos o tres colaboradores de amplia experiencia y comprobada calidad, aprovechando todo lo que ya se ha ganado en el camino.

Un abrazo sin plata de por medio.

Al González. :)

Casimiro Notevi
10-06-2011, 01:01:45
Imagino que el que diseñó las primeras especificaciones del proyecto sería una persona "mayor", de la primera generación de programadores, de cuando todavía no se estudiaba en la universidad. Lo digo porque la primera vez que vi el código me recordó un tutorial de metodología de programación que leí hace muchos años, ya digo, no existía la carrera universitaria, y en aquel tutorial se creaban los campos y variables de esa forma: C01, C02, C03... FP1, FC1, etc.
Después he visto otros programas que usan esa técnica, la de no pensar en los nombres de los campos, sino en darle un número consecutivo según se van creando, al igual que las variables. Esa técnica tuvo un tiempo en que fue muy usado. Seguramente tenía sus virtudes, aunque nunca llegué a conocerlas.

mamcx
10-06-2011, 02:15:23
No entendí esta parte de tu comentario.


Una de las ventajas supuestas del open source es que en teoria mejora la calidad del código ya que hay mas "ojos" encima de el.

Si quienes apoyaron el proyecto buscaban promover el open source se nota que solo lo hicieron de nombre.

Si alguien tomara ese proyecto como un ejemplo, pues que podria esperarse?

He visto varios proyectos open source y ninguno tan mal en la parte del codigo. No que sean todos muy buenos, la mayoria de lo que he visto en PHP ha sido muy deprimente (no todos, por ejemplo uno bueno (https://bitbucket.org/ellislab/codeigniter-reactor/src/31b5c1dcf2ed/index.php)), unos en PERL tremendos, pero no hasta un grado como este.

Es pasable que hayan empezado asi. Pero es que nunca han mejorado, y eso si me parece muy triste.

Aunque en general el codigo open source hecho en latinoamerica deja que desear. Y no veo el porque...


Siento que importaría más si te esforzaras un poco en respetar los acentos y en abrirte a líneas de pensamiento menos capitalistas. Se ve terrible que un emprendedor de tu talla muestre tal desprecio por el idioma en el cual se comunica y tal adoración por los ejemplos de acumulación de riqueza material

Eeee.... estas hablando de como escribo? Si es el caso me doy cuenta que a veces escribo terrible. Casi siempre cuando estoy en medio de un codigo...


Y lo de capitalista no veo a que viene en este caso. Fue una critica a este proyecto en particular... de paso no solo me he beneficiado mucho del open source y lo uso de forma habitual sino que ademas tengo al menos un proyecto publico (http://code.google.com/p/chibiorm/source/browse/src/Db.m), uno que desafortunadamente murio (http://sourceforge.net/projects/mutis/) y colaborado en algo a uno grande (https://code.djangoproject.com/ticket/5062) (y mi proyecto comercial, parcialmente open source (http://www.bestsellerapp.com/static/docs/es/index.html)).

el-mono
10-06-2011, 03:33:55
mamcx hombre si bien es entendible tu punto de vista sobre el código, pero dejarlo morir.... no me parece. Me interesa tu opinión ya que veo tenes mucha experiencia y creo seria un gran aporte a este proyecto tu opinión.

Ahora te hago una pregunta... alguna vez te pusiste en contacto con los desarrolladores de este proyecto y les planteaste tu visión sobre el código y porque esta de esa forma ?

Desde mi punto de vista creo es un proyecto que merece ser ayudado ya que es muy meritorio haberlo desarrollado sobre Lazarus que particularmente es un IDE que me gusta bastante y demuestra lo que se puede hacer con el.

mamcx
10-06-2011, 03:53:31
mamcx hombre si bien es entendible tu punto de vista sobre el código, pero dejarlo morir.... no me parece.

Pues si hacen el proceso de refactorizar el codigo es dejarlo morir como esta... para renacer como algo nuevo.

No me contacte con ellos. Pero ya que preguntas me imagino que no puedo ser unico, y de hecho es asi:

http://sourceforge.net/apps/mediawiki/facturlinex/index.php?title=Talk:Decisiones_acerca_del_diseño_de_la_Base_de_Datos

Asi que por lo menos están pensando cambiar eso....

El problema que tienen es el de todos: Tiempo. Y como luce la información, prefieren ir haciendo las cosa sobre la marcha que hacer el arreglo de una.

Y como se hace en un caso de estos?

Toca darle muerte a esa linea de código y solo hacerle corrección de errores graves, iniciar una nueva y seguir con eso.

Una lastima que les haya tomado tiempo, o mejor dicho, que lo estén buscando cuando ya no tengo tiempo ;).

P.D. Eso pasa por criticar en base a la memoria y no a lo que pasa ahora ...

Casimiro Notevi
10-06-2011, 10:08:26
Una de las ventajas supuestas del open source es que en teoria mejora la calidad del código ya que hay mas "ojos" encima de el.


El caso es que hay que verlo en su contexto, me explico, por ejemplo, tú mismo, decides hacer un software cualquiera y decides entregarlo con una licencia libre. Cuando lo terminas lo subes a tu web, lo anuncias y pones a disposición de todo el mundo el programa y el código fuente, totalmente libre.
¿Cuántos "ojos" han visto el código y han podido colaborar en el mismo?, sólo tú, así que a saber lo que has hecho.
Pues algo parecido es este caso, en ese proyecto trabajaron y trabajan unas personas contratadas para hacerlo, con la idea de hacerlo disponible con una licencia libre, pero no es un proyecto en el que haya participado cualquiera desde el primer momento.

mamcx
10-06-2011, 15:30:14
Eso se entiende. Y el modelo como tal da resultado, eso es claro. Lo que me parece triste es que siendo un proyecto con el afan de promover el software libre, no haya tenido el enfoque o el apoyo necesario para haberlo hecho mejor.

Y no necesariamente la cosa funciona porque sea a primer momento o luego. Muchos proyectos arrancaron como algo privado o propietario y luego se pusieron publicos... otros desde el mismo principio. Como todo, es la calidad de la mano de obra y el apoyo que reciben lo que determina el resultado...

mightydragonlor
11-06-2011, 20:01:12
No se, no se, el código no me convence, pero sin duda estoy dispuesto a colaborar si se hace una re estructuración del código y de la base de datos, por que la verdad esos nombres de los campos son la patada.

Casimiro Notevi
11-06-2011, 20:25:42
Según tengo entendido el programa hace años que se hizo, se usó Kilyx, ahora lo que han hecho ha sido rehacerlo usando lazarus.
En el mensaje actual no están solicitando programadores para desarrollarlo, puesto que el programa está listo, están buscando colaboradores, probadores, etc.
Pego el mensaje aquí:


Buenos dias/tardes/noches:

Llevamos un tiempo en el que estamos algo estancados en el proyecto, el desarrollo sigue adelante y a falta de unos pequeños flecos, es 100% operativo, pero queremos darle el pequeño impulso que le falta para darlo a conocer y celebrar su puesta de largo. Es más, tenemos una particularidad que no tiene casi ningún programa de estas características, y es que el programa funciona exactamente igual en linux y en windows, con lo que es fácil que cualquier usuario de windows pueda migrar a linux sin problemas, y viceversa.

Tal como indica el título, hacen falta colaboradores en el proyecto, no buscamos desarrolladores, aunque si vienen serán bienvenidos por supuesto, lo que necesitamos son usuarios del programa, algún relaciones públicas que nos ayude con el “marketing” y le eche un empujoncito a la web, testeo para búsqueda de bugs, redacción de manuales y artículos, etc., como puedes ver, no sólo se necesitan programadores...

Tenemos intención de promocionarnos en facebook, en foros, incluso poner en marcha un blog, pero nosotros solos no podemos, estamos con el desarrollo de FacturLinEx, que ya nos quita bastantes horas de sueño, por eso necesitamos ayuda. Como proyecto de software libre que es, FacturLinEx se nutre de la ayuda desinteresada de voluntarios, y no nos equivoquemos, los que estamos ahora, sabemos programar, pero de ahí a que tengamos idea de cómo promocionar lo que para nosotros es casi como un hijo y todo eso, hay un abismo.

Tenemos unas ideas para desarrollar, una de ellas podría ser una distro live cd con el programa instalado para que se pueda probar sin instalar nada en el ordenador, queremos ponernos en contacto con varias distribuciones por si se plantean incluir facturlinex como software de facturación, incluso sería bien recibida cualquier empresa que quisiera dar soporte de FacturLinEx, con la que colaboraríamos estrechamente para seguir evolucionando y, entre todos, conseguir un software libre de calidad y que no tiene nada que envidiar al software propietario. Como ves, ideas hay, sólo hace falta llevarlas a cabo y, sobre todo, gente con conocimientos para ello.

Si estás interesado publica respuesta a este post o envía un mensaje privado a cualquier miembro del equipo de desarrollo. Si puedes hacer eco de este mensaje en tu blog personal, no dejes de hacerlo. Si tienes algún comentario al respecto de lo que hemos hablado, no dejes de hacerlo.

Bueno, ya no escribo más, no quiero cansarte. Piensa en lo que te he contado.

Un saludo,
f-javier

mightydragonlor
13-06-2011, 16:01:39
ahh pos ya queda mas claro xD

xaime
14-06-2011, 20:51:57
Buenas.

Por alusiones al equipo me veo en la necesidad de postear en este hilo.

Lo primero es sentirme defraudado por la mayor parte de la gente que posteó en este hilo. La verdad es que esperaba algo positivo ( que lo hay, y mucho ) y no insultos hacia el programa.

Evidentemente el código tiene mucho que mejorar, pero seguro que si en vez de menospreciar el trabajo de los demás nos dedicasemos a ayudar a mejorarlo no opinaríamos lo mismo.

Leo por algún lado que somos un grupo de 'contratados'. Entiendo por contratados que estamos cobrando por el trabajo, y nada más lejos de la realidad. Somos un grupo de amigos que hacemos lo que creemos mejor y de la mejor forma que podemos, teniendo en cuenta que ya partíamos de mucho código. Estamos de acuerdo en que habría que rehacer el código para hacerlo más entendible y mantenible, pero eso es un trabajillo que nos impediría evolucionar. La version 1 está implantada en muchos sitios y funcionando a la perfección. Claro que hay que dar soporte, pero decidme de algún programa que no lo tenga. Que yo recuerde, los propios sistemas operativos tienen actualizaciones, o el mejor programa privativo las tiene. Acaso teneis los fuentes de esos programas privativos que cuestan su dinero para así poder criticar su estructura. Es muy probable que os encontrarais con muchas sorpresas. Pero claro, como el resultado final es bueno, seguro que está bien programado. Facturlinex 2 está en varios negocios en producción ( el mío uno de ellos ) y está funcionando sin problemas. Y cuando los hay estamos los 'tontitos' del equipo de desarrollo para parchear los errores ( que por cierto nos suelen salir bien y rápido ).

También me llama la atención el comentario de que este código debería de morir, no debería de ser ayudado. Pues creo que con esta frase, su autor ya lo dice todo sobre su persona. Está invitando a matar un programa open source, en vez de ofrecerse a ayudar a mejorarlo. También es cierto, que ese mismo autor comenta que participó en algún proyecto que murió. No hago más comentario sobre el tema porque se comenta solo, verdad ?.

Bien, podría seguir escribiendo sobre más cosas comentadas en este hilo, pero creo que todas se resumen en lo mismo, y es algo que no merece ningún tipo de comentario. Sólo deciros que si éste es el apoyo que le damos al software libre, el 90% de los proyectos estarían abocados al fracaso. Es más fácil criticar que construir, verdad ?.

Hablo en mi nombre, pero seguro que hay mucha gente leyendo este post y se identifica con lo expuesto. Como componente de este equipo de desarrollo, del que por cierto estoy muuuy orgulloso, os invito a dejaros de menosprecios e 'insultos' y echais un cable en la mejora del programa. Pero bueno, quizás le estoy pidiendo peras al olmo.

Nada más lejos de mi mente el ofender a nadie de este magnífico foro, así que pido disculpas a quien se ofenda con mis palabras, pero comprendez que acabais de pedir la muerte de algo que es como un hijo para nosotros.

Un saludo desde España

Jaime

Equipo de desarrollo de Facturlinex.

Pd. Quizás antes de soltar la lengua deberíais revisar lo que publicais, y si no , navegad un poquito por la Red y vereis que hay muuuuuucha gente que al menos valora nuestro trabajo .

Casimiro Notevi
14-06-2011, 21:09:01
¡¡¡Hola, xaime, bienvenido!!!
Creo que no has leído todos los mensajes, no puedes generalizar de esa manera cuando, en general, se está aprobando y hablando bien del proyecto, a pesar del código algo extraño que tiene. Creo que lo has leído con algo de "furia".

Por cierto, yo tengo el código fuente y he usado los programas desde hace mucho tiempo (años), me sirven de referencia para resolver dudas y siempre he aconsejado el programa a todos los que he tenido oportunidad.

Saludos.

mamcx
14-06-2011, 22:51:57
También me llama la atención el comentario de que este código debería de morir, no debería de ser ayudado. Pues creo que con esta frase, su autor ya lo dice todo sobre su persona. Está invitando a matar un programa open source, en vez de ofrecerse a ayudar a mejorarlo. También es cierto, que ese mismo autor comenta que participó en algún proyecto que murió. No hago más comentario sobre el tema porque se comenta solo, verdad ?.

Si el código debe cambiar para mejorar, entonces es porque la forma como esta actualmente debe morir. Es un proyecto que muere. Si renace como algo mejor es otra cosa.

Yo mismo, unos post anteriores:

Asi que por lo menos están pensando cambiar eso....

El problema que tienen es el de todos: Tiempo. Y como luce la información, prefieren ir haciendo las cosa sobre la marcha que hacer el arreglo de una.

Y como se hace en un caso de estos?

Toca darle muerte a esa linea de código y solo hacerle corrección de errores graves, iniciar una nueva y seguir con eso.

Una lastima que les haya tomado tiempo, o mejor dicho, que lo estén buscando cuando ya no tengo tiempo .

P.D. Eso pasa por criticar en base a la memoria y no a lo que pasa ahora ...


Y con respecto a:

Sólo deciros que si éste es el apoyo que le damos al software libre, el 90% de los proyectos estarían abocados al fracaso. Es más fácil criticar que construir, verdad ?.


La otra opción es no decir nada, no preocuparse por el código (que es mi instinto #1 antes de mirar cualquier proyecto open source). Y ya que soy desarrollador, hablo desde esa perspectiva. Nada de si es un producto final bueno o no, o de su diseño, o sitio web, o imagen, o todo lo demás que también importa.

Lo que me impacto y mucho, fue ver un código así. De todos los proyectos que he mirado, y han sido muchos, nunca uno con estándares de esa clase.

Si ese es el estándar de programación de los proyectos open source en Hispano América... pues quien querrá ayudar? Mira que es un problema de parte y parte. Para atraer gente hay que tener un proyecto interesante (que lo es) y entonces, como en mi caso, me gusta:

- Esta hecho en Delphi ? :)
- Hablan español? :)
- Es un producto muy necesario? :)
- Enfocado en el tipo de empresa comun en america latina? :)
- El codigo implicara que debo esforzarme el triple (entenderlo, arreglarlo, reprobarlo) para seguir? :(. Y ya que en el momento esta la prioridad en continuar que en refactorizar (la cual es una prioridad muy lógica de hecho) no es el momento adecuado para, como desarrollador, hecharle mano. Asi es mejor dejarles a quienes ya lo conocen desde el principio.

Puede ser muy bueno para los usuarios..

Pero desde el punto de vista de un desarrollador, es un panorama desalentador. Y ya que es el pan del día a día en muchas empresas (trabajar con apps legadas con código infestado de todo lo que hay), lo que menos quiere uno es aportar tiempo a seguir en las mismas o peor.


Espero que te lo tomes de la mejor manera. Y sino, igual mi opinión, como alguien que no tiene velas en este entierro, no importa.

xaime
15-06-2011, 11:14:53
Buenos días.

Antes de pasar a materia pediros de nuevo disculpas si con los comentarios ofendía a alguien.

Nuestros deseos son el conseguir una aplicación operativa y funcional, y para eso ( sobre todo por la falta de tiempo para el desarrollo ) le tenemos que dedicar todo nuestro tiempo al avance y no a la optimización del proyecto.

Desde aquí lanzamos un llamamiento a quien quiera y pueda a que nos ayude en la optimizacion de facturlinex : renombrado de campos, reutilización de código, ... .

Si os fijais en el svn, tenemos una parte trunk donde estamos con el desarrollo y otra para la estable ( branches ). Podríamos abrir una tercera opcion donde fuésemos optimizando. La verdad es que sin ayuda no creo que podamos asumir esa tarea de momento. Queremos estabilizar lo que tenmos ahora para subir un nuevo deb a los repositorios de debian.

Así que queda echado el guante por si alguien se anima.

Reconocemos ( y hablo en nombre de todo el equipo ) que el código hay que mejorarlo, pero repito que lo que hicimos fue partir de las fuentes de la versión anterior, y aunque ya existen tablas con la nomenglatura de los campos más humana y código reutilizado le falta muuuucho por hacer.

Nos juntamos 5 amigos, cada uno de su familia y con sus métodos de programación; nos adaptamos a lo que había y nos parece que estamos haciendo un buen trabajo.

Gracias por las críticas y por aquí nos tendreis para lo que podamos ayudar.

Un saludo.

mamcx
15-06-2011, 16:57:11
Una buena manera de arrancar seria tener un diccionario de datos.

O algo mas simple: Una lista de llave=valor para automatizar el renombrado.

Mirando el codigo, veo que se puede hacer algo con expresiones regulares. Una vez que hice algo similar utilice http://www.regular-expressions.info/powergrep.html.

La idea es tener una lista como


CO1 = ???
C02 = ???


Y hacer con eso un reemplazo masivo... Si cada C01 es unico entre los demas campos de tablas el trabajo es ligeramente facil de hacer. Sino, hay si toca hacerlo a la antigua...

f-javier
15-06-2011, 18:14:01
Hola,

Jaime anda hoy algo liado, por eso voy a responder yo en este hilo.

Si dijera que tenemos mentes privilegiadas y que nos acordamos del contenido de los campos, mentiría como un bellaco, jejeje. Sin embargo, tenemos un documento donde mantenemos las equivalencias de los campos con su contenido. El que quiera echarle un vistazo lo puede encontrar en http://facturlinex.svn.sourceforge.net/viewvc/facturlinex/trunk/Documents/FacturLinex.odt.

Imagino que ahora mismo lo que más nos puede interesar es la realización de un TO-DO, una hoja de ruta, para ir planificando el trabajo, pero nos falta experiencia en esos temas.

Ahora que se han aclarado los malentendidos iniciales, creo que lo mejor es dejar pasar todo este asunto y planear estrategias para el futuro. Si alguien de vosotros se anima y nos echa una mano en la realización del TODO creo que mejoraremos en lo que llevamos años trabajando.

Quizá el hecho de estar enfrascado en una tarea específica, en nuestro caso el desarrollo de FacturLinEx, haga que no nos demos cuenta del global y sigamos en el trabajo diario.

Creo que ahora mismo el planteamiento es ver de planificar tareas, quizás un brainstorming, pero en mi caso los que hice eran presenciales, por lo que sí era factible. Como recién llegado al mundo del software libre, no tengo demasiada idea de cómo se plantean estas cosas en la distancia, por lo que sí podemos aprender de vosotros. Algunos consejos serán bien recibidos, seguro.

Bueno, lo dicho, trabajo hay para el que quiera, jejeje.

Hablo por mi, pero supongo que el resto de compañeros pensarán igual.

Un saludo,
f-javier

mamcx
15-06-2011, 19:04:07
Les recomiendo usar para ello https://www.pivotaltracker.com/, es el mejor administrador de tareas de desarrollo que hay (es gratis para proyectos open source).

Tambien deberian tener algo como lo que hicieron los de firebird, osea, para que version planean la conversion. Hacerlo en medio de algo importante que estan haciendo es mala idea... es mejor cerrar lo mas crucial ahora, abrir una linea de codigo pa lo nuevo e ir solo metiendo fixes a lo viejo.

Un primer paso seria solo el de cambiar los nombres de los campos. Refactorizar y lo demas es mas complejo y al menos con nombres mas humanos la cosa mejoraria mucho.

En el proyecto de https://www.djangoproject.com/ tienen una idea buena que cada tanto tiempo hacen un sprint (https://www.djangoproject.com/weblog/2011/jun/05/djangocon-eu-2011-sprints/) (carrera) de arreglar cosas con mucha gente enfocada x dias solo a eso.

El proyecto es muy grande asi que la tienen mas facil, pero la idea es:

1- Tener la lista concreta de que hay que hacer (la parte mas importante) en una herramienta de manejo de bugs (como pivotal), con lista de tareas reducida a lo mínimo del objetivo buscado
2- Solicitar ayuda de tanta gente como se pueda para que dedique un numero fijo y claro de tiempo, en un momento bien definido (ej: Lunes - Miercoles entre tales y tales horas)
3- Dar algo a cambio por el esfuerzo extra: Un badge, una camisa, reconocimiento, lo que sea (quizas con el apoyo de algun cliente de la app) a los que mas hayan colaborado.

Es mas facil hacer algo asi si se define un tiempo, un objetivo y un lugar claro. Quizas de esa manera, es mas simple lograr que quienes no estan interesados en hacer parte full-time del proyecto pero les suena la idea aporten en algo.

mightydragonlor
15-06-2011, 20:47:59
Buenos días.

Desde aquí lanzamos un llamamiento a quien quiera y pueda a que nos ayude en la optimizacion de facturlinex : renombrado de campos, reutilización de código, ... .

Un saludo.

Bueno la verdad es que quiero hacer parte de esta optimizacion, ahora, tengo varias ideas sobre sobre como hacerlo, me gustaría discutir una ruta de trabajo demás, como lo hago?, básicamente quiero hacerlo bien pronto para ayudarlos en este grandioso proyecto, que la verdad desde hace rato que me atrae y como todos sabemos que el código no es el mejor del mundo, casi que me gustaría arrancarlo como proyecto nuevo y siguiendo desde el inicio una buenas prácticas de programación, bueno me cuentan que opinan de esto y estoy pendiente de una respuesta, gracias.

f-javier
17-06-2011, 09:27:10
Hola mightydragonlor,

Primero explicar cómo andamos actualmente.

Siempre hemos trabajado en la rama trunk en nuestro servidor de svn (alojado en sourceforge). Llegó un momento en el que pensamos que la versión 2 ya estaba bastante madura y sin fallos, pues llevaba algún tiempo en producción en el negocio de uno de los desarrolladores y decidimos cerrar una versión estable.

En ese momento creamos una rama estable (v.2.0) y el desarrollo continuó en trunk (v.2.1). En esa rama ya no se añadía nada nuevo, sólo se solucionaban errores, de la cual salió la versión 2.0 (estable), previo paso por una RC1.

Ahora lo que podríamos plantear.

La idea ahora sería abandonar la versión 2.0, pasar a estabilizar la actual 2.1 (pasándola a denominar 2.2) y seguir en trunk con la 2.5, donde se tomaría todo el cambio del código que se precise hasta su correcta funcionalidad que podríamos liberar como versión 3.0.

Supongo que la única "condición" para empezar con este asunto sería seguir trabajando con sourceforge, estoy seguro de que habrán muchas herramientas más completas, pero siempre hemos trabajado allí y creo que la gente querrá mantener el proyecto donde está. Yo por mi parte, no cierro las puertas a usar otras herramientas si se mejora la productividad y creo que los compañeros tampoco, sólo digo que si seguimos mas o menos como estamos, mejor. Pero vamos, que todo es cuestión de plantearlo entre todos.

Seguimos en contacto.

Un saludo,
f-javier

mamcx
17-06-2011, 19:48:18
El uso de pivotal no implica abandonar sourceforge. De todas maneras, dale una mirada a ver que les parece...