<div dir="ltr">Tengo intención de reescribir el código bajo TDD. Si alguien desea contribuir de alguna forma, que se ponga en contacto conmigo. Gracias.</div><div class="gmail_extra"><br><br><div class="gmail_quote">El 4 de marzo de 2013 17:35, Miguel Ángel Alarcos Torrecillas <span dir="ltr"><<a href="mailto:miguel.alarcos@gmail.com" target="_blank">miguel.alarcos@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Muchas gracias Chema, no esperaba tanto. Agradezco todas las recomendaciones que me das.<div><br></div><div>
En principio sólo esperaba críticas respecto del propósito de la librería, de la API, y no que se buceara en el código que está un poco patas arriba. Una vez más muchas gracias.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">El 3 de marzo de 2013 14:51, Chema Cortes <span dir="ltr"><<a href="mailto:pych3m4@gmail.com" target="_blank">pych3m4@gmail.com</a>></span> escribió:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El día 1 de marzo de 2013 19:11, Miguel Ángel Alarcos Torrecillas<br>
<<a href="mailto:miguel.alarcos@gmail.com" target="_blank">miguel.alarcos@gmail.com</a>> escribió:<br>
<div><div>> Hola a todos, me gustaría dar a conocer un proyecto al que he dado el nombre<br>
> de PyViewPredicate. Se trata de crear GUIs de manera declarativa, y además<br>
> reactiva. Con esto quiero decir que la GUI recibe los nuevos datos a mostrar<br>
> después de que se hayan modificado en el mismo u otro computador.<br>
><br>
> De momento he implementado un visualizador de objetos BasicView (visualiza<br>
> una fila de una tabla de BDD) y un visualizador Table que visualiza un<br>
> predicado más complejo que es realmente una SQL.<br>
><br>
> La wiki del proyecto tiene un ejemplo explicativo:<br>
><br>
> <a href="https://bitbucket.org/miguel_alarcos/pyviewpredicate/wiki/Home" target="_blank">https://bitbucket.org/miguel_alarcos/pyviewpredicate/wiki/Home</a><br>
><br>
> Admito todo tipo de críticas, pero especialmente las constructivas.<br>
> Responderé a cuantas dudas o cuestiones me planteéis.<br>
><br>
> Espero no robaros mucho tiempo, saludos pythónicos desde Murcia :)<br>
<br>
</div></div>He estado revisando el código un rato hasta que me he cansado, por lo<br>
que solo puedo darte una impresión superficial.<br>
<br>
Lo primero, es recomendarte que siguas un mismo estilo para nombrar<br>
las clases. No resulta cómodo ver mezclados los estilos "CamelCase" y<br>
unix.<br>
<br>
Se ve que has invertido muchas horas en crear este código. Pero<br>
necesita bastante refactorización, sobre todo deberías hacer un<br>
paquete con el monolítico 'wxpython_gui' y, de paso, darle otro nombre<br>
que lo diferencie mejor del paquete wxpython general.<br>
<br>
Por otro lado, deberías limpiar el código. Al repositorio puedes<br>
indicarle que no versione los ficheros .pyc (sobra designable.pyc),<br>
quitar ficheros de pruebas (wxApp1.py, wxApp2.py,...) y que no<br>
aparezcan otras versiones que no tienen nada qué ver ahora<br>
(tkinter_app.py, tkinter_gui.py). Así mismo, asegúrate que estás<br>
versionados todos los ficheros que usas (falta 'pubsub.py', que<br>
supongo es una dependencia externa).<br>
<br>
Siguiendo con cuestiones de estilo, nunca deberías usar 'from modulo<br>
import *'. Está totalmente desaconsejado fuera de su uso en la línea<br>
de comandos. En un código normal deberías siempre indicar<br>
explícitamente qué objetos estás importando.<br>
<br>
En cuanto a mejorar la compresión, creo, por lo que he visto, que<br>
intentas implementar algo similar al patrón Actor. Localizar todo el<br>
código relativo a la creación de actores en su propio módulo puede<br>
ayudar más a entender lo que hace el código, así como localizar más<br>
rápido los mensajes a los que responden los actores (por ejemplo, en<br>
con un diccionario).<br>
<br>
<br>
--<br>
Hyperreals *R: <a href="http://ch3m4.org/blog" target="_blank">http://ch3m4.org/blog</a><br>
Quarks, bits y otras criaturas infinitesimales<br>
<div><div>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>