Hola La cuestión acá no es que la operación es casi la misma, se podria "parametrizar" y hacerlo una sola vez., claro en smalltalk tenemos blocks, pero se podria mandar algun otro objeto y delegar, o entendi mal? :D
saludos jmdc 2013/9/17 Mariano Martinez Peck <[email protected]> > Si perdón, recién ahora lo vi. Estamos de acuerdo entonces. > Igual ese caso (iterar y filtrar) es tan taaan básico que uno imagina que > tiene varios varios más que 2 casos nomas ;) > Vah, eso entendí yo. > > > 2013/9/17 Angel Java Lopez <[email protected]> > >> Si, por eso levanto la mano, y lo puse en mi mensaje. >> >> EL tema es "multiplica eso por 100/1000" o algo asi. SI ESO NO APARECE, >> no refactorizaria. >> >> Angel "Java" Lopez >> @ajlopez >> >> >> 2013/9/17 Mariano Martinez Peck <[email protected]> >> >>> >>> >>> >>> 2013/9/17 Angel Java Lopez <[email protected]> >>> >>>> Muy buena iniciativa! >>>> >>>> Bien, alguna novedad del sprint del sabado pasado? >>>> >>>> Y tiro la piedra... ;-) >>>> >>>> Por que es un problema de disenio NO sacar el codigo repetido de estos >>>> casos? >>>> >>>> Me gusta que el codigo sea legible. Y si lo de arriba se genero con >>>> TDD, siempre que lo cambie, y lo rompa, algo va a saltar en rojo. El >>>> agregar closure o lo que sea, no "complicara" el codigo, como se dice aca >>>> en Argentina, al pepe? >>>> >>>> >>> mmm ahí muestra sólo 2 casos. Multiplicá eso por 100/1000 o lo que >>> quieras (cada iteración en una lista para recoger los que cumplen con >>> cierta condición) y después comparalo con un select: de una línea.... >>> yo creo que sí hace mucho a la diferencia. >>> >>> o entendí cualquiera? >>> >>> >>> >>>> Solo cuando tenga, digamos, como cinco metodos (o mas parecidos) asi >>>> empezaria a pensar en refactorizar >>>> >>>> O estoy "crazy", Macaya? >>>> >>>> Angel "TDD" Lopez >>>> @ajlopez >>>> >>>> >>>> >>>> 2013/9/17 Alex Schenkman <[email protected]> >>>> >>>>> ¡Me encanta Hernan! >>>>> >>>>> >>>>> 2013/9/17 Hernan Wilkinson <[email protected]> >>>>> >>>>>> >>>>>> >>>>>> ** >>>>>> No ves el Email correctamente? >>>>>> Miralo los eventos disponibles en tu >>>>>> navegador<http://10pines.us2.list-manage.com/track/click?u=2af339e7051528125d009e213&id=8967052108&e=df3645c0f6> >>>>>> [image: >>>>>> 10Pines]<http://10pines.us2.list-manage.com/track/click?u=2af339e7051528125d009e213&id=3ba63643d1&e=df3645c0f6> >>>>>> [image: Follow on Twitter] <https://www.twitter.com/10pines/> >>>>>> Webinar Gratuito sobre Técnicas Avanzadas de Diseño - Parte 1 >>>>>> Descripción: Tomate 10 segundos para mirar este método: >>>>>> >>>>>> 1 >>>>>> 2 >>>>>> 3 >>>>>> 4 >>>>>> 5 >>>>>> 6 >>>>>> 7 >>>>>> 8 >>>>>> 9 >>>>>> >>>>>> public List<Integer> divisiblesIn(List<Integer> numbers,int aDivisor){ >>>>>> List<Integer> divisibles = new ArrayList<Integer>(); >>>>>> >>>>>> for (Integer aNumber : numbers) >>>>>> if (aNumber%aDivisor==0) >>>>>> divisibles.add(aNumber); >>>>>> >>>>>> return divisibles;} >>>>>> >>>>>> >>>>>> Ahora tomate unos 10 segundos más para ver este otro: >>>>>> >>>>>> 1 >>>>>> 2 >>>>>> 3 >>>>>> 4 >>>>>> 5 >>>>>> 6 >>>>>> 7 >>>>>> 8 >>>>>> 9 >>>>>> >>>>>> public List<String> namesStartingWith(List<String> names,String prefix){ >>>>>> List<String> namesStartingWithPrefix = new ArrayList<String>(); >>>>>> >>>>>> for (String aName : names) >>>>>> if (aName.startsWith(prefix)) >>>>>> namesStartingWithPrefix.add(aName); >>>>>> >>>>>> return namesStartingWithPrefix;} >>>>>> >>>>>> >>>>>> ¿Cuál es el *problema de diseño* que se genera al tener estos dos >>>>>> métodos? >>>>>> Si no ves ningún problema, si te parece que este código está bien, >>>>>> entonces *¡no podés dejar de participar en este Webinar!* >>>>>> >>>>>> Lo que veremos en esta primer edición de la serie de Webinars sobre >>>>>> *Técnicas >>>>>> de Diseño Avanzado* es cómo sacar *código repetido* y la importancia >>>>>> que tienen los "*closures*" para poder hacerlo. >>>>>> Analizaremos en detalle que son los "*closures*", en qué se >>>>>> diferencian de los "*lambdas*" y cómo los lenguajes *Java, C#, Ruby, >>>>>> Phyton, Smalltalk y PHP* los implementan (o no... ) >>>>>> >>>>>> *¡No dejes de anotarte!* El Webinar es *gratis* y *sortearemos* dos >>>>>> inscripciones con un *50% de descuento* para el curso de Diseño >>>>>> Avanzado de Software con Objetos I >>>>>> (<http://10pines.us2.list-manage.com/track/click?u=2af339e7051528125d009e213&id=810c1667cd&e=df3645c0f6>El >>>>>> Webinar es on-line, no presencial) >>>>>> >>>>>> Fecha: >>>>>> >>>>>> - Martes 24 de Septiembre, 2013 - 19 hrs (Argentina - GMT -3) >>>>>> >>>>>> Objetivos: >>>>>> >>>>>> - Aprender la técnica para sacar código repetido >>>>>> - Entender qué significa conceptualmente el código repetido >>>>>> - Conocer que son los closures, su historia y las distintas >>>>>> implementaciones que provee cada lenguaje >>>>>> >>>>>> Duración: >>>>>> >>>>>> - 1 hora >>>>>> >>>>>> Pre-Requisitos: >>>>>> >>>>>> - Tener una mínima experiencia programando en alguno de estos >>>>>> lenguajes: Java, C#, Ruby, Phyton, Smalltak o PHP >>>>>> >>>>>> Inscripción >>>>>> >>>>>> *¿Cómo te podés anotar?:* Completá el formulario de >>>>>> inscripción<http://10pines.us2.list-manage1.com/track/click?u=2af339e7051528125d009e213&id=776b5d4289&e=df3645c0f6>indicando >>>>>> tu nombre, empresa y datos de contacto. >>>>>> *¿Tenés preguntas?:* No dudes en comunicarte con >>>>>> nosotros<http://10pines.us2.list-manage.com/track/click?u=2af339e7051528125d009e213&id=13ef5624c5&e=df3645c0f6> >>>>>> . >>>>>> Webinars anteriores: >>>>>> >>>>>> - TDD Avanzado, Parte >>>>>> 1<http://10pines.us2.list-manage2.com/track/click?u=2af339e7051528125d009e213&id=bd3f90254f&e=df3645c0f6> >>>>>> >>>>>> follow on Twitter <https://www.twitter.com/10pines/>| >>>>>> forward >>>>>> to a >>>>>> friend<http://us2.forward-to-friend1.com/forward?u=2af339e7051528125d009e213&id=76cbe423f2&e=df3645c0f6> >>>>>> >>>>>> *Copyright © 2013 10Pines SRL, All rights reserved.* >>>>>> If you received this email is because you attended a course given by >>>>>> 10Pines or a conference where 10Pines was sponsor and you agreed to >>>>>> receive >>>>>> mails from sponsors. >>>>>> *Our mailing address is:* >>>>>> 10Pines SRL >>>>>> Alem 693 - 5B >>>>>> Buenos Aires, Ciudad Autónoma de Buenos Aires 1001 >>>>>> Argentina >>>>>> >>>>>> Add us to your address >>>>>> book<http://10pines.us2.list-manage1.com/vcard?u=2af339e7051528125d009e213&id=9c08917a08> >>>>>> [image: Email Marketing Powered by >>>>>> MailChimp]<http://www.mailchimp.com/monkey-rewards/?utm_source=freemium_newsletter&utm_medium=email&utm_campaign=monkey_rewards&aid=2af339e7051528125d009e213&afl=1> >>>>>> unsubscribe from this >>>>>> list<http://10pines.us2.list-manage.com/unsubscribe?u=2af339e7051528125d009e213&id=9c08917a08&e=df3645c0f6&c=76cbe423f2>| >>>>>> update >>>>>> subscription >>>>>> preferences<http://10pines.us2.list-manage.com/profile?u=2af339e7051528125d009e213&id=9c08917a08&e=df3645c0f6> >>>>>> >>>>>> >>>>>> -- >>>>>> -- >>>>>> To post to this group, send email to [email protected] >>>>>> To unsubscribe from this group, send email to >>>>>> [email protected] >>>>>> >>>>>> http://www.clubSmalltalk.org >>>>>> --- >>>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>>> "ClubSmalltalk" de Grupos de Google. >>>>>> Para anular la suscripción a este grupo y dejar de recibir sus >>>>>> correos electrónicos, envía un correo electrónico a >>>>>> [email protected]. >>>>>> Para obtener más opciones, visita >>>>>> https://groups.google.com/groups/opt_out. >>>>>> >>>>> >>>>> -- >>>>> -- >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected] >>>>> >>>>> http://www.clubSmalltalk.org >>>>> --- >>>>> Has recibido este mensaje porque estás suscrito al grupo >>>>> "ClubSmalltalk" de Grupos de Google. >>>>> Para anular la suscripción a este grupo y dejar de recibir sus correos >>>>> electrónicos, envía un correo electrónico a >>>>> [email protected]. >>>>> Para obtener más opciones, visita >>>>> https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> -- >>>> -- >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> >>>> http://www.clubSmalltalk.org >>>> --- >>>> Has recibido este mensaje porque estás suscrito al grupo >>>> "ClubSmalltalk" de Grupos de Google. >>>> Para anular la suscripción a este grupo y dejar de recibir sus correos >>>> electrónicos, envía un correo electrónico a >>>> [email protected]. >>>> Para obtener más opciones, visita >>>> https://groups.google.com/groups/opt_out. >>>> >>> >>> >>> >>> -- >>> Mariano >>> http://marianopeck.wordpress.com >>> >>> -- >>> -- >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> >>> http://www.clubSmalltalk.org >>> --- >>> Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" >>> de Grupos de Google. >>> Para anular la suscripción a este grupo y dejar de recibir sus correos >>> electrónicos, envía un correo electrónico a >>> [email protected]. >>> Para obtener más opciones, visita >>> https://groups.google.com/groups/opt_out. >>> >> >> -- >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> >> http://www.clubSmalltalk.org >> --- >> Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" >> de Grupos de Google. >> Para anular la suscripción a este grupo y dejar de recibir sus correos >> electrónicos, envía un correo electrónico a >> [email protected]. >> Para obtener más opciones, visita >> https://groups.google.com/groups/opt_out. >> > > > > -- > Mariano > http://marianopeck.wordpress.com > > -- > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org > --- > Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" > de Grupos de Google. > Para anular la suscripción a este grupo y dejar de recibir sus correos > electrónicos, envía un correo electrónico a > [email protected]. > Para obtener más opciones, visita https://groups.google.com/groups/opt_out > . > -- -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org --- Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a [email protected]. Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
