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.
