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.

Responder a