[Madrid-pm] Consejos importantes (II)

DervishD bugs en dervishd.net
Mie Mar 28 06:21:38 PDT 2007


    Hola Víctor :)

 * Victor Moral <victor en taquiones.net> dixit:
> Disculpa no haber contestado antes

    ¡Vaya!... Sólo faltaría que tuviese YO que disculpar a alguien ¡por
CONTESTARME a una duda!. Al contrario, muchísimas gracias a tí y a los
demás que me han respondido por haberos tomado la molestia de hacerlo.
Vuestros consejos son siempre valiosos.

> Que alguien me recuerde, cuando tomemos el poder, que hay que fusilar
> a esta panda de mangantes que escriben cosas en documentos PDF
> totalmente erróneas y desfasadas. ¡ He tenido que leer el código
> fuente de un validador en COBOL para entender porqué su validador no
> validaba mis datos siguiendo al pie de la letra sus instrucciones !.

    Yo en esos casos añado un comentario al código, de estos de "you
will the first against the wall when the revolution comes" XDDDDD

> > ¿Es mejor usar un namespace propio para una jerarquía de módulos,
> > asumiendo que su uso principal es privado y que sólo se publican
> > como efecto lateral (por lo que en principio es altamente improbable
> > que acaben algún día en CPAN), o es mejor usar la jerarquía
> > existente aun cuando esos módulos puede que jamás salgan de mi casa
> > (pese a ser GPL)?
> 
> Dale la vuelta a la pregunta: ¿ que ocurrirá si tengo módulos propios
> en la jerarquía correcta para mis programas, y a algún individuo se le
> ocurre sacar módulos en esa misma jerarquía en un futuro,
> incompatibles además con los míos ? 

    Jo, tío, me has leído la mente, esto empieza a ser preocupante XDDD
Ahora en serio: precisamente por eso me planteé una jerarquía
"personal", pero sigo sin tener nada claro qué rumbo tomar. Siendo
realista, las posibilidades de publicar el código en CPAN son
practicamente nulas, así que puedo poner el nombre que me dé la real
gana, pero por otro lado creo que ponerlos en la jerarquía correcta
sería mejor incluso si simplemente los publico en mi página web, porque
será más facil o intuitivo para cualquiera saber de qué van en general.

    Una solución de compromiso es usar las jerarquías correctas (aunque
en un par de casos no tengo NI IDEA de dónde colocar ciertas cosas),
pero que el nombre del módulo sea lo bastante "único".

    No sé qué hacer, porque incluso veo contraproducente separar ciertas
funciones en módulos: igual es psicológico, pero cuando un módulo sólo
exporta una función, me mosqueo. Tonterías mías, seguiré pensando ;))

    Afortunadamente la gente que hay aquí sabe mucho y me habéis dado
consejos muy buenos.

> Es decir, que tienes un módulo como Bank::Accounts::Validate que
> valida cuentas bancarias y mañana a alguien se le ocurre sacar algo
> así en el CPAN para calcular solvencias de clientes ó alguna chorrada
> similar. ¿ Cambias todos tus programas ? Porque convivir juntos es de
> locos y lo digo por experiencia. 

    Uso poco los módulos de CPAN directamente en mi código; más bien
suelo tomar ideas de ellos. Ahora bien, la posibilidad existe, así que
no tomaré la decisión a la ligera. Yo pensaba que era una decisión
trivial, pero después de ver las respuestas ya no pienso lo mismo.

> > Y sí, ya sé que es mejor no reinventar la rueda, usar soluciones
> > estándares (aunque sea añadiendo dependéncias con CPAN) y demás,
> > pero el caso es que el código ya está escrito, ya está siendo usado
> > y cambiarlo por una solución más estandar sería hacer que las piezas
> > encajasen menos, que se perdiese algo de funcionalidad y que yo, que
> > al final voy a mantener ese código, lo haga menos comodamente.
> > Vamos, que no voy a hacerle la vida más miserable a ningún
> > programador, al menos de forma consciente XDDD Sólo os pido consejo
> > sobre la pregunta concreta que os pongo arriba.
> 
> Pues en todo esto tienes mucha razón; yo prefiero utilizar todo lo que
> pueda del CPAN, pero hemos llegado muchas veces a tomar ideas más que
> a usarlas, porque los interfaces de algunos módulos son pésimos, por
> más que su algoritmia sea deliciosa.

    A mí no me acaba de gustar el interfaz de "Getopt::Long", por poner
un ejemplo, pero sí he sacado ideas interesantes y el código de mi
getopt está inspirado por muchos de los Getopt::* que miré.
 
> Si quieres un ejemplo de algo como lo que te propones hacer échale un vistazo 
> a nuestro librería Basicos en
> 
> 	http://www.venexma.net/debian/pool/main/libb/libbasicos-perl/
> 
> y verás ejemplos de módulos como el Commons tuyo, pero distribuidos en varios 
> archivos. 

    Vale, robad^H^H^H^H^Hcopiado XDDD Muchas gracias :) Ya de paso te he
mangado alguno más, me gusta leer código de otros aunque sea sólo por
encima, para aprender cosillas. Bueno, de hecho he cogido el wget y le
estoy dando una pasadita a tu repo de Debian O:))) O mejor dicho, lo
haré en cuanto el wget deje de negarse a hacer la descarga recursiva,
qué no sé por qué leches lo está haciendo.

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!


Más información sobre la lista de distribución Madrid-pm