estilo en nobre de objetos

Rafael Villar Burke pachi en rvburke.com
Mie Nov 14 13:23:37 CET 2007


Arnau Sanchez wrote:
> damufo escribió:
>
>> privados (private property    _noun_with_leading_underscore   
>> _is_updated)?
>> Cuando defino los botones, cajas de texto, combos... deberían ser
>> algo así?
>>
>> self._nombre_objeto= wx.Button(self, label="Send Message")
>
> Se diría que el botón de un GUI no necesita ser accesible desde fuera,
> así que sí, el atributo sería privado (más bien, de uso interno):
> "self._send_button", por ejemplo.
>
> ¿No te pareció interesante unificar los widgets como te comenté? En
> ese caso quedaría: self._widgets.send_button.
Me gusta porque al usarlo deja claro de qué hablamos.
>
>> Nota: La verdad es que esta forma no me gusta nada de nada.
>
> Dices que no te gusta, ¿pero el qué? ¿que empiece por guión bajo? ¿las
> minúsculas? Todo depende de lo estricto que te pongas, pero ésta es
> una convención muy extendida. Un buen ejercicio es estudiar código
> "canónico", e ir empapándose de buenas prácticas, mira la salida de:
>
> $ grep -r "self\._[a-z]" /usr/lib/python2.5
>
> Verás la cantidad de veces que se usa en la librería oficial.
>
> En otros lenguajes quizá sea sólo una cuestión de estilo, pero en
> Python y demás lenguajes con introspección potente, cómo nombras las
> variables es muy importante.
Otra cosa importante es que si elijes cuidadosamente los nombres de
funciones y variables, y agrupas porciones significativas de código en
funciones que designen su propósito, prácticamente obtienes código
autodocumentado.

Al escribir código suelo hacerme la siguiente pregunta: ¿necesito añadir
comentarios para explicar qué hace esta parte del código?.

A menudo, si la respuesta es positiva, es probable que el nombre de las
variables sea poco explicativo (normalmente es demasiado general), y
renombrarlas o extraer el bloque en una función ayuda a estructurar
mejor el código y a que prácticamente no sean ya necesarios los
comentarios (salvo para explicar un algoritmo, algún comportamiento
sutil, etc).

Por otro lado, si usas un editor mínimamente potente usarás el
autocompletado, y el uso de nombres claramente identificables te evitará
problemas, aparte de que el hecho de que sean más o menos largos es
menos importante :).

Saludos,

Rafael Villar Burke
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es