[Lazarus-es] TDD y Coding Dojo

francisco prieto fajprieto en gmail.com
Vie Jun 20 14:31:13 CEST 2014


Victor,

Te puedo asegurar que no es ninguna perdida de tiempo. Lo mas maravilloso
de esta técnica y del Coding Dojo que nadie menciono hasta ahora es que
aprendes a ordenar tus pensamientos creativos, calmar tus ansiedades y a la
larga programar mas rápido y sin cometer errores, claro que para eso tu
cabeza debe hacer un clic, pero bueno somos programadores y nos gustan los
clic :)

En el Coding Dojo ademas aprendes las técnicas y los trucos que utiliza el
otro programador a la hora de resolver un problema, es algo maravilloso en
términos de programación.

Este video que envie de TDD, por ejemplo, Carlos Peix (el orador) lo raliza
con C#, pero yo lo estoy siguiendo con Lazarus y se puede hacer todo tal
cual... Por ejemplo en Visual Fox, que es el lenguaje en que están la
mayoría de mis sistemas, no existe el concepto de interface.... existen si
los forms y las clases...  pero si quisiera no podría programar una
interface. Pues bien por temas sintácticos hay cosas que me vienen a la
mente en VFP y no las puedo plasmar directamente en FreePascal porque no
funcionarían, quizás si funcione la teoría pero tengo que ponerle la
sintaxis adecuada. Así que con este video de TDD estoy tratando que mi
cabeza haga clic y pensar los ejemplos concretos para desarrollar lo que
propone el video y al mismo tiempo estudiar como se hace en FreePascal lo
que Carlos hace en el video...

Como dije estoy en Córdoba... Me gustaría que proyecten un encuentro en
Córdoba, no tiene que ser en un hotel, puede ser en un cafe, para hacer un
Coding Dojo y/o explicar técnicas de programación que utilizan a menudo...

En cuanto termine de hacer el TDD del video en Lazarus, subiré el fuente de
como quedó. Aunque el mayor aprendizaje no esta en el fuente terminado,
sino en el proceso de diseño.

Los mantengo al corriente.

Saludos,

Pancho
Córdoba


El 20 de junio de 2014, 0:30, Victor Villalobos <revxfire en gmail.com>
escribió:

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


More information about the Lazarus-es mailing list