<div dir="ltr">Es una perdida de tiempo para programas pequeños, pero para sistemas grandes ayuda bastante, claro todo es cuestion de costumbre en nuestra vida de programador, pero debemos cambiar aveces, nunca he hecho esto aca en FPC ni se como se trabajara tampoco, ya que solo lo he trabajado en python que es un lenguaje dinamico y la mayoria de las pruebas te pasan el error en tiempo de ejecución del script.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">El 19 de junio de 2014, 21:55, Martin Gomez <span dir="ltr"><<a href="mailto:mmgomez@gmail.com" target="_blank">mmgomez@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"><div class="gmail_default" style="font-family:tahoma,sans-serif">Con tantas buenas opiniones al respecto me dan ganas de darle una segunda oportunidad.</div><div class="gmail_default" style="font-family:tahoma,sans-serif">


Como lo entendí yo es que básicamente antes de escribir el código de mi programa debo escribir una rutina que lo pruebe, de esa manera al escrinbir el código tengo una herramienta que me dice si lo que escribí funciona como yo espero (y si lo cambio dentro de 2 años tengo una herramienta que me indica si rompí algo como efecto colateral)</div>


<div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Mi problema es que teniendo 30 años de programanor, escribo el código en mi cabeza más rapido de lo que me dan los dedos, y la ansiedad me hacía sentir que escribir los test era una pérdida de tiempo... Voy a darle una segunda chance y comentar como me fue.</div>


<div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-19 21:48 GMT-03:00 Victor Villalobos <span dir="ltr"><<a href="mailto:revxfire@gmail.com" target="_blank">revxfire@gmail.com</a>></span>:<div>
<div class="h5"><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">El TDD mas un entorno de automatización de pruebas, te ayuda a probar en tiempo real todo el dise;o y acoplamiento de tu software, al principio desarrollaras mas lento pero en software que tiende a tener un crecimiento te ayuda a verificar que cada parte de tu sistema se ejecute correctamente, he trabajado con selenium IDE + Python y a la larga te da mucha seguridad y facilidad en el desarrollo.<div>



<br></div><div>Saludos.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 19 de junio de 2014, 16:03, Giuseppe Luigi <span dir="ltr"><<a href="mailto:glpunzi@gmail.com" target="_blank">glpunzi@gmail.com</a>></span> escribió:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Me gustaría añadir. El TDD nació en Smalltalk hace unos cuantos años. El test browser,  cuando lanzaba los tests ponía una lucecita verde marcando que el test era correcto,  y la filosofía dice que hay que conseguir los tests en verde cuanto antes . </p>





<p dir="ltr">Aunque no tanto en otros lenguajes, pero donde mejor se puede aplicar esta técnica es en Entornos Smalltalk, donde perfectamente puedes programar a base de tests y depurador. </p>
<p dir="ltr">Los tests definen el comportamiento de una mínima unidad de trabajo. Ej, en smalltalk un objeto puede tener el mensaje "+" de tal manera que un test comprueba si 1+1 es 2, y en caso contrario da un error. </p>





<p dir="ltr">Es una buena práctica para sistemas propensos a crecer, ya que si algo en el código rompe algo en alguna otra parte, rápidamente el test saltaría avisándote del error.</p>
<p dir="ltr">Disculpar la brevedad, estoy desde móvil.</p>
<div class="gmail_quote">El 19/06/2014 22:20, "francisco prieto" <<a href="mailto:fajprieto@gmail.com" target="_blank">fajprieto@gmail.com</a>> escribió:<div><div><br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">Te cuento...<div><br></div><div>Esto del TDD es diseñar el codigo a partir de ejemplos. La tecnica bien aplicada te permite tener una aplicacion que te pruebe automaticamente todo el sistema cada vez que realizas un cambio y si un test falla te dice exactamente el test que fallo.</div>






<div><br></div><div>La tecnica se usa mucho para grupos de programadores, pero si un programador independiente puede usar esta tecnica sabe con seguridad que el programa funciona paso a paso. Es como tener un robot que te compila el programa por cada modificacion que vos haces, pero no solo controla la sintaxis del lenguaje, sino la lógica del negocio.</div>






<div><br></div><div>Pero para que lo entiendan mejor creo que vale la pena ver este video dictado por uno de los capos (Carlos Peix)</div><div><br></div><div><a href="https://www.youtube.com/watch?v=jhG2ox8FYRM" target="_blank">https://www.youtube.com/watch?v=jhG2ox8FYRM</a><br>






</div><div><br></div><div>Bueno a partir de la respuesta de Martin, investigue un poco mas y al crear un proyecto nuevo uno de los tipos de proyectos que se puede crear es un FPCUnit Test Application, el cual te genera la cascara, para que se pueda cargar cada uno de los test.</div>






<div><br></div><div>Aun no encontre una documentacion practica de como utilizar la aplicacion generada, pero he utilizado TDD en otras oportunidades y no debe ser tan diferente.</div><div><br></div><div>Los mantengo al corriente de mis descubrimientos, ya que tengo la teoría que para poder recibir, primero hay que brindar...</div>






<div><br></div><div>Saludos,</div><div>Pancho</div><div>Córdoba</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 19 de junio de 2014, 16:58, Maxi <span dir="ltr"><<a href="mailto:maximiliano.duarte@gmail.com" target="_blank">maximiliano.duarte@gmail.com</a>></span> escribió:<br>






<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">No entiendo muy bien como es esto del tdd, pero por lo que leo y<br>
solicitas Lazarus te da un entorno limpio, simple, y capaz de realizar<br>
cualquier tarea. Como desventaja (por ahora) lo que veo es que el<br>
cross compiler a android es medio dificil de lograr, lo que no es asi<br>
en Delphi x5/6 que está bien probado. y en aplicaciones web tambien es<br>
poco lo que se puede hacer.<br>
Yo con delphi/lazarus he podido hacer todo lo que me propongo.<br>
<br>
El día 19 de junio de 2014, 15:59, Martin Gomez <<a href="mailto:mmgomez@gmail.com" target="_blank">mmgomez@gmail.com</a>> escribió:<br>
<div><div>> Hola Pancho y Victor<br>
><br>
> No soy muy fan del TDD ni sus framework, pero Lazarus incluye uno<br>
> (<a href="http://wiki.lazarus.freepascal.org/fpcunit" target="_blank">http://wiki.lazarus.freepascal.org/fpcunit</a>) y existe otro de terceros que<br>
> hace más o menos lo mismo (<a href="http://wiki.freepascal.org/FPTest" target="_blank">http://wiki.freepascal.org/FPTest</a>)<br>
><br>
> Con respecto a la documentación y a los standares o "practicas<br>
> recomendables", si bien Lazarus incluye una ayuda excelente a veces no<br>
> alcanza, y lamentablemente la mayor cantidad de documentación que se<br>
> consigue está en inglés.<br>
><br>
> Te recomiendo leer o hacer búsquedas en los foros de Lazarus y de CodePython<br>
> (una distribución de Lazarus con varios cientos de componentes de terceros<br>
> incluidos), y preguntar lo que vaya surgiendo en este grupo de email, que<br>
> está lleno de buenos profesionales y la mejor de las voluntades para ayudar<br>
> o al menos opinar sobre los temas.<br>
><br>
> Saludos,<br>
> Martín<br>
><br>
><br>
><br>
> 2014-06-19 15:45 GMT-03:00 Victor Villalobos <<a href="mailto:revxfire@gmail.com" target="_blank">revxfire@gmail.com</a>>:<br>
><br>
>> Buenas, yo también estoy en un cambio muy parecido, la verdad me gusta<br>
>> bastante Lazarus y freepascal, pero encuentro siempre poco de esos videos<br>
>> online que te enseñan técnicas de codificación que no están en los libros y<br>
>> que se aprenden en el diario de un programador.<br>
>><br>
>> Saludos.<br>
>><br>
>><br>
>> El 19 de junio de 2014, 5:15, francisco prieto <<a href="mailto:fajprieto@gmail.com" target="_blank">fajprieto@gmail.com</a>><br>
>> escribió:<br>
>>><br>
>>> Me presento mi nombre es Francisco Angel Javier Prieto, vivo en Capilla<br>
>>> del Monte, Córdoba, Argentina y pero en los foros (sobre todo de VFP) me van<br>
>>> a encontrar como Pancho de Córdoba.<br>
>>><br>
>>> Bueno, hace unos 3 años estoy estudiando todos los lenguajes que se<br>
>>> cruzaron por mi camino, Free Pascal con su Ide Lazarus fue uno de los<br>
>>> primeros, pero en ese momento no encontré la suficiente documentación como<br>
>>> para que cumpla con todos mis objetivos, que al día de la fecha cumple.<br>
>>><br>
>>> Paso a relatarles un poco mi situación para que vean hacia donde va mi<br>
>>> pregunta.<br>
>>><br>
>>> Mi trabajo principal es ser programador de programadores (ese es mi<br>
>>> fuerte en VFP), para lograrlo debo estudiar mucho todo el tiempo, no solo<br>
>>> VFP sino todas las tecnologías que van saliendo.<br>
>>><br>
>>> Por otra parte hago drivers de balanzas, controladores y otros<br>
>>> dispositivos. Los tengo realizados en Visual C++, Visual Basic y Visual<br>
>>> Foxpro.<br>
>>><br>
>>> Además realizo software propietario para terceros y ademas tengo mis<br>
>>> propios clientes (de los normales que tiene todo programador).<br>
>>><br>
>>> Tengo hechas apk para Android realizadas con Eclipse y aplicaciones para<br>
>>> Windows Phone con Visual Studio.<br>
>>><br>
>>> Lo único que tercerizo en mi trabajo es el chat de Skype, esto al ser<br>
>>> independiente, me permite dedicar aun mas tiempo a la programación y al<br>
>>> estudio y logro mayor concentración.<br>
>>><br>
>>> El objetivo que me platee hace mas de 3 años es migrar toda mi<br>
>>> programación a 1 solo lenguaje que me permita.<br>
>>><br>
>>> 1) Realizar toda la programación de PC que vengo haciendo con VFP. Poder<br>
>>> trabajar con motores (lease SqlServer, Oracle, MySql, Firebird, etc)<br>
>>><br>
>>> 2) Realizar todos los drivers y poder compilarlos. Ya que en muchos casos<br>
>>> el código es propietario.<br>
>>><br>
>>> 3) Realizar aplicaciones mobiles y si es posible web (en este sentido me<br>
>>> gusta mucho MEAN)<br>
>>><br>
>>> 4) Salir del mundo Microsoft y abrirme al mundo open source, a pesar que<br>
>>> mucho de lo que programo es propietario.<br>
>>><br>
>>> 5) El lenguaje elegido debe poseer vasta documentación en español (a ver,<br>
>>> yo no soy ingles y muchas veces es todo un trabajo interpretar la<br>
>>> explicación del ejemplo en ingles, siendo el español uno de los idiomas mas<br>
>>> hablados no veo porque deba referirme a bibliografía inglesa).<br>
>>><br>
>>> 6) Debe tener un foro de referencia en español, porque cuando las papas<br>
>>> queman, el idioma se transforma en un problema mas a resolver y si no logro<br>
>>> expresar la idea en la pregunta, es probable que no llegue a buen puerto o<br>
>>> que demore demasiado en hacerlo.<br>
>>><br>
>>> Bueno en este ultimo año he estado estudiando ademas técnicas de<br>
>>> programación y me tope con estas 2...<br>
>>><br>
>>> Lo que deseo saber es si hay alguna librería que me permita hacer TDD con<br>
>>> Lazarus, ya que si bien quiero migrar todo deseo tomarme el tiempo necesario<br>
>>> para que todo trabaje con TDD.<br>
>>><br>
>>> Como dije por otra parte soy independiente y no tengo un equipo de<br>
>>> trabajo con el cual hacer Coding Dojo, pero estando el foro, me gustaría que<br>
>>> 2 o tres codificadores realicen una aplicación mas o menos sencilla on line<br>
>>> para aprender mirando las técnicas que utilizan en Free Pascal durante la<br>
>>> codificación, esto siempre abre nuevas posibilidades, pero no veo que se<br>
>>> haga a menudo.<br>
>>><br>
>>> Gracias,<br>
>>><br>
>>> Pancho<br>
>>> Córdoba<br>
>>> Argentina<br>
>>><br>
>>> _______________________________________________<br>
>>> Lazarus-es mailing list<br>
>>> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
>>> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
>>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Victor Villalobos<br>
>> Bahia Pirata<br>
>> Inversiones Villalobos Balzan.<br>
>> 0412 6882141<br>
>><br>
>> _______________________________________________<br>
>> Lazarus-es mailing list<br>
>> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
>> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
>><br>
><br>
><br>
><br>
> --<br>
> Try not to become a man of success but rather to become a man of value.<br>
> Albert Einstein<br>
><br>
> _______________________________________________<br>
> Lazarus-es mailing list<br>
> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
><br>
<br>
<br>
<br>
--<br>
</div></div>El que pregunta aprende, y el que contesta aprende a responder.<br>
<br>
No a la obsolecencia programada:<br>
<a href="http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml" target="_blank">http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml</a><br>
<br>
Linux User #495070<br>
<a href="http://domonetic.com/blog" target="_blank">http://domonetic.com/blog</a><br>
<div><div><br>
_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
</div></div></blockquote></div><br></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div></div></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div></div></div><div><div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Victor Villalobos<div>Bahia Pirata</div><div>Inversiones Villalobos Balzan.<br>0412 6882141<br></div></div>


</div></div></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:tahoma,sans-serif">Try not to become a man of success but rather to become a man of value. <i>Albert Einstein</i></span></div>



</div></div></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Victor Villalobos<div>Bahia Pirata</div><div>Inversiones Villalobos Balzan.<br>0412 6882141<br></div></div>
</div>