2009/11/13 Guillermo Sapaya <[email protected]> > > From: Hernan Wilkinson > > > 2009/11/13 Guillermo Sapaya <[email protected]> > > > > pero tdd es acerca de prototipar! es acerca de tener algo funcionando > > rápido... no se cómo están haciendo tdd pero sirve justamente para lo que > > vos estás buscando... > > Yo creo que si querés tener algo rápido pero primero tenés que empezar por > los tests para tenerlo entonces estamos agregando un delay muy claro para > obtenerlo... >
pero no creas que es mucho mas que estar escribiendo y manteniendo en tu cabeza todo lo que haces. Es mucho mejor tirarle ese bardo a la computadora, y por lo tanto te queda la cabeza más libre para pensar mejor... > > > Si solo refactorizas, no tenes que cambiar ningun tests. Los refactorings > no > > alteran la ejecuciòn del sistema. > > Si modificas el modelo, por ahí si tenes que modificar tests, dependiendo > > de > > que cambio hayas hecho, pero no es el comun de los casos... de vuelta, no > > entiendo porqué tanto problema por el mantenimiento de los tests, no > > consume > > tanto! > > Claro, me refería a grandes refactorings/cambios. No sólo los que te > permite hacer el RefactoringBrowser :-) > > > Tdd no reemplaza los test funcionales o exploratorios o de ui, etc. que > > deben hacer los testers > > Pero tdd no es solo hacer test unitarios, todo lo contrario y eso es una > > confusión muy grande. Tdd no es bottom-up, es top-down porque justamente > es > > exploratorio. Con tdd tambien haces test funcionales, de user story que > > además son los más interesantes y los que más aportan. > > Bueno, acá es donde disiento. Creo que si uno tiene los tests funcionales > correctos y cubriendo la mayor cantidad de casos de uso que se le ocurra al > tester/usuario, no son necesarios los unitTests. Al fin y al cabo, si hay un > DNU o lo que fuera también será visto en la corrida de los tests > funcionales. > si, tal cual, pero no te olvides que tdd no es solo sobre testing! la idea es que te ayuda a explorar el dominio, a hacer un modelo menos acoplado, etc. lo de los tests es un agregado nomás. > Por otro lado no hace falta TDD para trabajar top-down. Yo siempre trabajé > top-down sin usar TDD. Si, tal cual, no es necesario, pero si haces mal tdd, o sea, te qeudas con test unitarios solamente, entonces haces bottom up y eso esta mal. > Creo que la manera de modelar de un smalltalker debe ser siempre top-down, > el prototiping te lleva a eso. Definir la "cáscara" de cada objeto y después > meta debugger, inspectores, etc. hasta obtener el resultado esperado, pero > sin tener que partir de un test, usando directamente el sistema (ya sea por > workspaces o por una UI generada automáticamente para cualquier objeto nuevo > que cree). > no entiendo por què no a partir de un test? el test está haciendo funcionar el sistema! y lo podes reproducir constantemente, automaticamente, etc. Me parece que solo estàs pensando en test unitarios con tdd y no es así, o como decias Mariano, en test estructurales y no funcionales, no se, me da esa sensación. Un abrazo Hernan > > > Un abrazo, > > Hernan. > > Otro, > Guiye > > > > > > > > ----- Original Message ----- > > > From: Hernan Wilkinson > > > [mailto:[email protected]] > > > To: [email protected] > > > Sent: > > > Fri, 13 Nov 2009 09:37:06 -0200 > > > Subject: [clubSmalltalk] Re: DIscusion > > > polemica > > > > > > > > > > 2009/11/12 GallegO <[email protected]> > > > > > > > > > > > > > > Hola Diego: > > > > > > > > > > Esto derivó en algo muy copado. El tema de los tests, creo que lo > > > > > describiste perfecto, yo también siento lo mismo. El tema es que a > > > > > medida que el desarrollo va madurando empieza a cambiar menos, > hasta > > > > > que se lo pone a prueba en distintas situaciones. En ese momento, > > > > > puede ser que haya pasado bastante tiempo desde que se escribió ese > > > > > código, empieza a surgir la necesidad de cambio real, dada por algo > > > > > externo. Vamos a modificar y empezamos a dejar caconas por todos > > > > > lados, sin darnos cuenta. No me quiero imaginar que pasa cuando ese > > > > > mismo código lo toca alguien que no tiene el conocimiento de > haberlo > > > > > desarrollado, por más que sea una pieza única y bien pulida. > > > > > ¿Como se hace para tener tantos tests? > > > > > > > > > > > > > no entiendo la pregunta... a ver, si queres tener software robusto > > > tenemos > > > > que testear, creo que eso no tiene sentido discutirlo. > > > > La pregunta es, cuando queremos testear y como. Al principio o al > final > > > del > > > > desarrollo? de manera automática o manual? > > > > Para mi: cuanto antes mejor y de manera automática. > > > > > > > > > > > > > ¿Cuando desarrollas el producto si es que tenes que escribir tantos > > > > tests? > > > > > > > > > > > > > es un pregunta capciosa... lo escribis mienstras desarrollas... > tambien > > > > podríamos decir, si hay que diseñar tanto o jugar tanto en el > > workspace, > > > > cuando desarrollas? pero la verdad es que si haces tdd bien, > desarrollar > > > > mientras hacer funcionar los tests, directamente desde el debugger, > es > > > > maravilloso > > > > > > > > > > > > > Es decir, las respuestas seguramente sean simples, pero las > ecuaciones > > > > > en tiempo y dinero no. > > > > > > > > > > > > > Eso es contextual y depende del tiempo... a mediano plazo cualquier > > > sistema > > > > no testeado te va a traer más problemas que uno testeado. > > > > > > > > > > > > > > > > > > Para mi, y para mi trabajo actual, no es tan simple. > > > > > > > > > > Saludos > > > > > GallegO > > > > > > > > > > > > > > > El día 12 de noviembre de 2009 18:58, [email protected] > > > > > <[email protected]> escribió: > > > > > > > > > > > > Gabriel, > > > > > > Antes que nada aclaro que tanto el tipado como el uso de tests > son > > > > > > técnicas que considero útiles en su debido contexto. Incluso creo > > que > > > > > > los smalltalkers deberían tipar un poquito mas, o un poquito > antes. > > > > > > De los tests me preocupan dos aspectos: > > > > > > 1) Un conjunto de tests es un sistema en si mismo y tiende a > estar > > > > > > fuertemente acoplado con el sistema que se quiere testear. Este > > > > > > acoplamiento, como casi todo acoplamiento, resulta un lastre en > la > > > > > > evolución del sistema. Un sistema repleto de tests requiere mas > > > tiempo > > > > > > para ser modificado. Los amantes de TDD argumentan que dicha > > > evolución > > > > > > es "mas segura" porque está controlada por la validez de los > tests, > > y > > > > > > a mi eso me genera serias dudas. Otro efecto similar que producen > > los > > > > > > tests es que el desarrollador (o jefe) se contenta con ver todas > las > > > > > > luces verdes y puede que se relaje en actividades de > factorización, > > > en > > > > > > cambiar cosas, porque generalmente antes de fallar un tests, > falla > > la > > > > > > implementación del mismo. > > > > > > 2) El segundo aspecto tiene que ver con el análisis y diseño. > > Está > > > > > > bueno ver que los programadores de Ruby, a partir de TDD, > entienden > > > > > > que es bueno declarar primero la intención inicial y luego > teclear > > la > > > > > > solución. En Smalltalk esto se puede hacer con tests o con un > > > > > > workspace. Esto implica haber entendido que era mejor escribir el > > > > > > problema y luego la solución, a que ir directamente con un diseño > > y > > > > > > luego ver si anda. Pero pensar que uno conoce el problema de > > antemano > > > > > > suele ser ingenuo también, por lo tanto es mas conveniente ir > > > > > > modificando también la intención inicial a partir de lo que se > > > aprende > > > > > > en la interacción con el sistema. Entonces ahi me molestan los > > tests > > > y > > > > > > prefiero usar workspaces, de esos que uso toco y tiro todo el > > tiempo. > > > > > > Porque no solo no está claro una solución antes de resolver un > > > > > > problema, sino que suele no estar claro el problema tampoco. > > > Smalltalk > > > > > > nos da muchas herramientas para entender un problema y en ese ida > y > > > > > > vuelta los tests estorban mas que ayudar. > > > > > > > > > > > > Saludos, > > > > > > Diego Coronel > > > > > > > > > > > > > > > > > > On 12 nov, 12:52, Gabriel Brunstein <[email protected]> wrote: > > > > > >> Diego, me interesa tu punto de vista, por qué afirmas que es > > nociva > > > la > > > > > >> seguridad que te dan los tests? > > > > > >> > > > > > >> 2009/11/12 [email protected] <[email protected]> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > Mariano, > > > > > >> > Lo que decis me hizo relacionar el tipo de seguridad que da el > > > tipado > > > > > >> > con el tipo de seguridad que dan los tests. En ambos casos, > IMHO, > > > > > >> > sobredimensionada y nociva a corto plazo. > > > > > >> > > > > > >> > Diego > > > > > >> > > > > > >> > On 12 nov, 11:53, Mariano Abel Coca < > [email protected]> > > > > > wrote: > > > > > >> > > Simplemente para aportar un detalle más. > > > > > >> > > > > > >> > > Saludos, > > > > > >> > > > > > >> > > Mariano. > > > > > >> > > > > > >> > > 2009/11/12 Hernán Galante <[email protected]> > > > > > >> > > > > > >> > > > Lindo intercambio :-) > > > > > >> > > > A mi parecer, no tiene tanto que ver la escritura en sí, > > > porque > > > > > Ruby o > > > > > >> > > > Objective C son una copia casi del "Smalltalk lenguaje". > Lo > > > que > > > > en > > > > > mi > > > > > >> > > > opinión sucede es un mix de cosas. La primera, es el > tipado. > > > La > > > > > >> > compilación > > > > > >> > > > da cierta "seguridad", pues para el que escribe existe > > alguien > > > > que > > > > > se > > > > > >> > las > > > > > >> > > > sabe todas que te corrige (compilación para hacer el > > runtime). > > > > > Esta > > > > > >> > > > "seguridad" no se brinda en Smalltalk, pero todos sabemos > que > > > los > > > > > >> > > > errores también se compilan sin problemas, el punto aquí > es > > > que > > > > es > > > > > un > > > > > >> > engaño > > > > > >> > > > emocional que hace sentir más seguro a sus programadores. > > > > > >> > > > > > >> > > Esta seguridad en smalltalk la obtenés fácilmente con una > > buena > > > > > batería > > > > > >> > de > > > > > >> > > tests, e inclusive la seguridad que dan los tests es mayor > que > > > la > > > > > que da > > > > > >> > el > > > > > >> > > compilador... Y no hablo sólo de tests funcionales sino de > > tests > > > > del > > > > > >> > > metamodelo. Claro que esas cosas en los otros lenguajes no > > > existen > > > > > :) > > > > > >> > > > > > >> > > > La segunda que no entienden de Smalltalk es su concepto > > > > holístico. > > > > > Que > > > > > >> > no > > > > > >> > > > hay diferencia entre el sistema en desarrollo y el > > productivo, > > > > que > > > > > no > > > > > >> > hay > > > > > >> > > > diferencia entre IDE y sistema en construcción, no hay > > > > diferencia > > > > > entre > > > > > >> > mi > > > > > >> > > > código y el código que ya existe, etc, etc. Cuantas veces > > han > > > > > vistos o > > > > > >> > nos > > > > > >> > > > ha pasado cuando recién arrancábamos que nos poníamos en > > duda > > > > al > > > > > >> > modificar > > > > > >> > > > un método de una clase de base, o no entender que podemos > > > > > modificar el > > > > > >> > IDE > > > > > >> > > > para que browser haga las cosas que yo quiero, que puedo > > > agregar > > > > > en > > > > > >> > cuestión > > > > > >> > > > de unos minutos nuevas opciones, etc. > > > > > >> > > > El otro punto, que tiene que ver con esto de un todo > dentro > > de > > > > > >> > Smalltalk, > > > > > >> > > > es la no existencia de archivos. Esto genera cierta > > > incomodidad > > > > > para > > > > > >> > > > programadores acostumbrados a que la unidad mínima sea un > > > > archivo, > > > > > pues > > > > > >> > es > > > > > >> > > > un esquema brindado fuertemente por el sistema operativo. > El > > > > hecho > > > > > >> > también > > > > > >> > > > es educacional, pues el ambiente cuantas veces se > "ensucia" o > > > > > >> > "contamina" y > > > > > >> > > > empezamos a no saber para que lado ir. Eso en un ambiente > > > basado > > > > > en > > > > > >> > > > archivos, solo se disfraza la suciedad .. :-). Es más, el > > > hecho > > > > de > > > > > >> > cambiar > > > > > >> > > > de una BBDD a un Gemstone por ejemplo, esto de luchar > contra > > > la > > > > > >> > "basura", es > > > > > >> > > > el principal problema a atender/atacar al administrarla, > en > > > una > > > > > BBDD la > > > > > >> > > > basura existe por siempre y no nos damos cuenta (hasta que > > > > > conectamos > > > > > >> > un > > > > > >> > > > producto BI y saltan todos los sapos). > > > > > >> > > > De hecho, no tener esta educación en nuestra sociedad > entera > > > nos > > > > > lleva > > > > > >> > a > > > > > >> > > > enfrentarnos que tenemos al planeta completo contaminado y > no > > > > > sabemos > > > > > >> > ni que > > > > > >> > > > hacer. > > > > > >> > > > Smalltalk es demasiado avanzado para que todos lo > entiendan, > > > eso > > > > > es > > > > > >> > algo > > > > > >> > > > que hay que aceptar. Es una falta de educación en el > fondo. > > > > > >> > > > > > >> > > > Saludos, > > > > > >> > > > Hernán.- > > > > > >> > > > > > >> > > > On Wed, Nov 11, 2009 at 3:14 PM, Bruno Buzzi Brassesco < > > > > > >> > > > [email protected]> wrote: > > > > > >> > > > > > >> > > >> Es una percepción general de la gente de los lenguajes > > > > > tradicionales. > > > > > >> > > >> En la software factory que trabajaba tambien pensaban asi > lo > > > que > > > > > >> > conocían > > > > > >> > > >> (aunque se a de nombre) Smalltalk. > > > > > >> > > > > > >> > > >> Pero no pienses que en C# no podes meter la pata, trabaje > > con > > > un > > > > > >> > Framework > > > > > >> > > >> en C# que era algo lamentable, no voy a poner nombres, > pero > > > la > > > > > gente > > > > > >> > que > > > > > >> > > >> construyo esa cosa, era "gurus" de M$. Y mira que es > > > imposible > > > > > que te > > > > > >> > > >> imagines el dolor de los programadores cuando querian > > > construir > > > > > un > > > > > >> > sistema > > > > > >> > > >> usando esa cosa. > > > > > >> > > > > > >> > > >> El problema de C# en este caso es que el Framework estaba > > > "bien > > > > > >> > pensando" > > > > > >> > > >> desde el punto de vista de la arquitectura, cuando llevas > > esa > > > > > "buena > > > > > >> > idea" > > > > > >> > > >> de arquitectura a la practica y construis, el ambiente de > > > > > desarrollo > > > > > >> > te > > > > > >> > > >> queda algo que no se puede describir con palabras (un > > > desastre). > > > > > >> > > >> Y esto es porque C# no es homogeneo en Smalltalk no hay > > > > > diferencia > > > > > >> > entre > > > > > >> > > >> arquitectura y ambiente de desarrollo, hay objetos de... > > > > > >> > > > > > >> > > >> En broma les decia los programadores de C#, eso que tenes > > ahí > > > > es: > > > > > "un > > > > > >> > > >> compilador + un combo box". > > > > > >> > > >> Eso es C#, un compilador (c#) y ComboBox que te hace un > goto > > > al > > > > > codigo > > > > > >> > > >> fuente. Y la librería de C# es usanda como un gran > > > repositorio > > > > de > > > > > >> > > >> procedimientos, asi usan C# todos los programadores, > incluso > > > los > > > > > Mega > > > > > >> > Mega > > > > > >> > > >> MS Mega Seniors Expert. > > > > > >> > > > > > >> > > >> En la tecnologia tradicional lo que llaman "orientado a > > > objetos" > > > > > NO se > > > > > >> > > >> acerca ni por asomo a como se trabaja en Smalltalk, es > muy > > > > > diferente > > > > > >> > la > > > > > >> > > >> forma de resolver problemas y construir sistemas. > > > > > >> > > >> La confusion radica en que se usa el mismo termino: " > > > orientado > > > > a > > > > > >> > objetos" > > > > > >> > > > > > >> > > >> Saludos, > > > > > >> > > >> Bruno > > > > > >> > > > > > >> > > >> -----Original Message----- > > > > > >> > > >> From: [email protected] [mailto: > > > > > >> > > >> [email protected]] > > > > > >> > > >> On Behalf Of Rusty > > > > > >> > > >> Sent: Wednesday, November 11, 2009 4:47 PM > > > > > >> > > >> To: ClubSmalltalk > > > > > >> > > >> Subject: [clubSmalltalk] Re: DIscusion polemica > > > > > >> > > > > > >> > > >> No sé si es lo que lo mató, o si siquiera está muerto. > > > > > >> > > >> Pero si sé que estoy de acuerdo con el comentario. > > > > > >> > > > > > >> > > >> Smalltalk es el paraíso de los buenos programadores. > > > > > >> > > >> Pero también es el paraíso para el desprolijo y el que > ata > > > con > > > > > >> > > >> alambre. > > > > > >> > > >> Y eso último es jo-di-do. > > > > > >> > > > > > >> > > >> Salutes. > > > > > >> > > > > > >> > > >> Rusty. > > > > > >> > > > > > >> > > >> On 10 nov, 10:31, GallegO <[email protected]> wrote: > > > > > >> > > >> > Se desato una discusion en el blog de cincom y rescato > un > > > > > comentario > > > > > >> > > >> > que quiero compartir: > > > > > >> > > > > > >> > > >> > Completo enhttp://bit.ly/Uu517 > > > > > >> > > > > > >> > > >> > ...but I think the context of the quote is being > > > > misinterpreted > > > > > >> > > >> > somewhat. My impression from the video wasn't that Bob > > was > > > > > >> > > >> > misrepresenting Cunningham's meaning, but just that he > > > wasn't > > > > > >> > > >> > explaining it very well. > > > > > >> > > >> > 'What killed Smalltalk is that it was just too easy to > > make > > > a > > > > > mess." > > > > > >> > > >> > I think that's absolutely true, but it isn't > necessarily a > > > bad > > > > > >> > thing. > > > > > >> > > >> > The truth is that in Smalltalk it's often easier to do > > > > > anything, > > > > > >> > both > > > > > >> > > >> > good and bad. It's rather like saying that the problem > > > with a > > > > > >> > > >> > motorcycle, compared to a bicycle, is that it's just > too > > > easy > > > > > to go > > > > > >> > > >> > too fast and wreck one. With programming languages, as > > > with > > > > > bikes, > > > > > >> > if > > > > > >> > > >> > you give a powerful tool to an undisciplined, > > inexperienced > > > > > user, > > > > > >> > they > > > > > >> > > >> > can cause a lot of damage. > > > > > >> > > >> > If the only vehicle you give someone is a one-gear > bicycle > > > > with > > > > > >> > street > > > > > >> > > >> > tires and training wheels, it'll be really hard for > them > > to > > > > > hurt > > > > > >> > > >> > themselves, but they're never going to go very far or > very > > > > > fast, > > > > > >> > > >> > either. > > > > > >> > > > > > >> > > >> > Saludos > > > > > >> > > >> > GallegO > > > > > >> > > > > > >> > > >> No virus found in this incoming message. > > > > > >> > > >> Checked by AVG -www.avg.com > > > > > >> > > >> Version: 8.5.424 / Virus Database: 270.14.53/2486 - > Release > > > > Date: > > > > > >> > 11/07/09 > > > > > >> > > >> 07:38:00- Ocultar texto de la cita - > > > > > >> > > > > > >> > > - Mostrar texto de la cita -- Ocultar texto de la cita - > > > > > >> > > > > > >> - Mostrar texto de la cita - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -~----------~----~----~----~------~----~------~--~---
