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
