Abel Fillol, el 24 de abril a las 08:25 me escribiste:
>    Sencillamente no tienen idea de lo que est�n hablando...
> 
>    Los getters y setters son sumamente �tiles por muchos motivos, los mas
>    b�sicos son que AYUDAN a la legibilidad, ya que si yo pongo
>    this.getAlgo().toString, claramente estoy haciendo referencia al atributo
>    "algo" de mi objeto, en cambio si pongo algo.toString, uno a simple vista
>    no sabe si ese "algo" es un atributo de la clase, es una variable local,
>    me lo pasaron por par�metro es un m�todo que devuelve _algo_ , etc.

this.algo.toString, dale! Es solo un tema sintáctico, es mucho más legible
this.algo.toString que this.getAlgo().toString (y hay que tipear menos).
Hay cosas que son claramente acciones y otras que a nivel lógico tiene
sentido que sean atributos, aunque tengan que realizar alguna acción por
detrás.

Incluso D implementa "propiedades" haciendo que la sintaxis x = this.algo()
sea intercambiable con x = this.algo y this.algo(x) sea intercambiable con
this.algo = x.

Por la única razón que creo que es válido querer usar getters/setters es
para hacer el código más explícito (y poder diferenciar cuando se hace una
llamada a una a una función y cuando no, pero si accedés a todo via
getters/setters eso tampoco tiene sentido porque no tenés nada para
diferenciar).

>    Por otro lado, si hubieran trabajado en alguna aplicaci�n medianamente
>    grande, sabr�an que muchas veces los atributos de clases pueden necesitar

Con onda, pero no es necesario asumir boludeces con delirios de grandeza para
discutir un tema.

>    ser auditados, sincronizados, o disparar cualquier tipo de acci�n cada vez
>    que se los utilice o cada vez que se cambie el valor. Si se respetara el
>    uso de getters y setters, solo tengo que agregarle alg�n aspecto a la
>    clase que reaccione ante la llamada del getter o setter y haga su magia.
> 
>    En otro ejemplo, supongamos una clase A que contiene un atributo b que es
>    una instancia de una clase B que a su vez tiene una colecci�n de C. Es
>    importante saber que algunos frameworks, al levantar una instancia de A no
>    hidratan todos sus atributos (para no ocupar memoria ni tiempo buscando en
>    la base cosas, que quiz�s nunca uses), y si no accedemos a estos por los
>    getters, el framerowk no se entera que lo accedimos, nunca lo hidrata y
>    nos va a decir que tenemos un null si hacemos a.b cuando en la base de
>    datos si ten�amos bs que ten�an cs. Una vez mas, magia de aspectos.
> 
>    por �ltimo, lo que hoy es un atributo de la clase ma�ana puede llegar a
>    ser un c�lculo o por alguna raz�n habr�a que evitar un null por salida, en
>    ese caso, solo se toca el getter sin necesidad de nada mas.

Yada, yada, yada. Parece que ni leiste los otros mails. Releelos, leé de
nuevo este párrafo, y vas a ver que no tiene sentido.

>    Creo que muchas personas podr�an llegar a agregar mucho a esta lista que
>    acabo de escribir, pero la verdad es que el nivel de soberbia, agresividad
>    e ignorancia que se vi� en este hilo hace que los que tienen cosas
>    interesantes que decir se abstengan de tirarle perlas a los chanchos.

Jaja, lindo párrafo (bah, lindo mail!) para hablar de "sobervia, agresividad
e ignorancia". Me gusta que prediques con el ejemplo =)

>    Quiz�s sea bueno aclarar que no le� el hilo anterior, pero me interes� el
>    tema de getters y setters porque es algo que el 99% de los juniors que vi
>    pasar a mi lado (incluy�ndome hace a�os atr�s) ten�an el mismo concepto
>    err�neo.

Bueno, antes de saltar a un hilo a opinar sin sentido, sería bueno que
leas no solo los mails anteriores, si no el mail que estás contestando.

>    PD: tambi�n usen this. cada vez que puedan. :D

Ahhh! Si es el consejo de un experto hacia un junior, lo voy a tomar sin
pensar!

PD: Por cierto, Marge! Estaba siendo sarcástico! =)

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
Karma police
I've given all I can,
it's not enough,
I've given all I can
but we're still on the payroll.
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a