Para mi, depende de las prioridades (es decir, otras cosas para hacer), dos "senders" no justifican una refactorización de ese estilo. Porque puede que en el tercer usuario del pattern valga la pena refactorizar, pero aparece un cuarto que rompe la abstracción. Y tenga que deshacer lo que habia hecho.
Es todo muy subjetivo siempre. :) Esteban A. Maringolo El 17 de septiembre de 2013 17:02, Mariano Martinez Peck < [email protected]> escribió: > 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.
