No me molesta escribir
self, lo que me molesta es leerlo, porque cuando estoy buscando alguna parte de mi propio código, al encontrar la palabra self por todos lados me confunde. sefl.esto, self.aquello, etc.
Me aparece en datos que paso como parámetro, en asignaciones, etc., y no me deja ver las ''verdaderas'' variables o métodos que estoy invocando.
O sea, me cuesta encontrar mis propias variables si hay tanto
self por todos lados.
Eso no quiere decir que no use
self.
Lo vengo usando como corresponde y me da buenos resultados, lo reconozco. Me evita dolores de cabeza terribles con el manejo de objetos en
TKinter (un par de veces olvidé poner self, y pude vislumbrar una puntilla de los problemas que vendrían más adelante si nunca lo usara.)
Pero la palabra self me aparece en una cantidad excesiva.
Si sólo hubiera que usar self un par de veces, estaría orgulloso de mi código bien programado orientado a objetos, pero son tantas las veces que aparece, que satura mi campo visual y me empiezo a confundir.
Cosas como
_.__variable no me molestan, porque el punto que separa el primer
- del restante
__variable es para mí bastante visible.
Pero ahora con eso de que el signo _ tiene significados especiales en Python (cosa que no sabía, así que al menos aprendí algo nuevo de Python con toda esta discusión) ya me hace considerar que no es bueno usarlo.
Por otra parte, si eso de
self es tan importante, ¿no sería mejor que fuera una palabra clave como el
this de
C++? En ese caso el editor de Python lo mostraría con otro color (a mí las palabras claves me aparecen en naranja) y sería más visible, a la vez que sería menos engorroso, porque se distinguirían bien los atributos variables, algo así:
self.
variable
Entiendo que las reglas están por alguna razón, pero también pienso que las reglas pueden cambiarse si a los programadores les hace falta.
Y por útlimo, no sé qué es eso del
"modo dinámico".
Si lo supiera a lo mejor pensaría más parecido a ustedes...
Con las demás características de Python estoy muy contento.
Es una muy buena herramienta para el programador.
Es cierto lo que dicen por ahí, que hay poca distancia entre la idea y el programa terminado.
Aprendí TKinter en apenas 3 días, y ya lo manejo más que bien.
Sólo me molesta el
self...