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.

Responder a