[ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

hernan.wilkinson


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Alex Schenkman
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Angel Java Lopez
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?

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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Mariano Martinez Peck



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Angel Java Lopez
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 <[hidden email]>



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Mariano Martinez Peck
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 <[hidden email]>
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 <[hidden email]>



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Esteban A. Maringolo
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 <[hidden email]> 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 <[hidden email]>
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 <[hidden email]>



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Juan-2
In reply to this post by Mariano Martinez Peck
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 <[hidden email]>
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 <[hidden email]>
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 <[hidden email]>



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] 10Pines - Webinar Gratis sobre Técnicas Avanzadas de Diseño - Parte 1

Hernan Wilkinson-3
jaja, muy buena la discusion!!! no voy a comentar salvo vean el webinar!!! jajaja.

Abrazo
Hernan.


2013/9/17 Juan <[hidden email]>
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 <[hidden email]>
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 <[hidden email]>
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 <[hidden email]>



2013/9/17 Angel Java Lopez <[hidden email]>
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 <[hidden email]>
¡Me encanta Hernan!


2013/9/17 Hernan Wilkinson <[hidden email]>


No ves el Email correctamente?
Miralo los eventos disponibles en tu navegador
10Pines
Follow on Twitter
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
(
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 indicando tu nombre, empresa y datos de contacto. 
¿Tenés preguntas?: No dudes en comunicarte con nosotros.

Webinars anteriores:

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
Email Marketing Powered by MailChimp

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
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 [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Phone: +54 - 011 - 6091 - 3125
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com
Address: Alem 693, Floor 5 B, Buenos Aires, Argentina

--
--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
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 [hidden email].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.