[pyar] Opinión sobre proyecto
Esteban Kuber
ekuber en gmail.com
Jue Sep 23 21:00:37 ART 2010
>> Esta bueno, yo se poco de WX pero luce prolijo.
>
> Muchas gracias, espero que sigamos aprendiendo, y ser capaces de desarrollar
> aplicaciones mas avanzadas
Luce más prolijo que mi código, Seba Bassi puede dar fé ^_^
criterio =
self.lvPalabras.GetColumn(event.GetColumn()).GetText() # Cojo el
nombre de la columna
Ojo con la barrera lingüal con los argentos :P
if self.criterio == criterio: # Compruebo que el anterior
criterio y el nuevo sea el mismo.
if self.orden == "DESC": # En caso de serlo
intercambiamos entre ASC y DESC
self.orden = "ASC"
else:
self.orden = "DESC"
En vez de comentar línea por línea, yo generalmente prefiero hacer
funciones cortas (como veo que vos también haces) y darle un docstring
más general[0]. Algo como
"""
Ordenar la ListView lvPalabras por la columna seleccionada.
Si la columna de criterio de orden no cambia, se cambia el tipo de
ordenamiento por ascendente o descendente.
"""
y no comentaria línea por línea, ya que en
if self.orden == "DESC": # En caso de serlo intercambiamos entre ASC y DESC
self.orden = "ASC"
es más largo el comentario que el código, y el código es entendible ya
de por sí. Ademas, los comentarios a lo largo del tiempo mienten, el
código no ;)
Lo que estoy tratando de decir es, el código dice que se hace, los
comentarios por qué se hace.
else: # Guardamos el criterio para
que sirva para las demás funciones (filtrar, nueva_palabra, etc.)
self.criterio = criterio
self.orden = "ASC"
array_ordenado =
self.deutschDB.extraer(self.criterio,self.orden) # consulta SQL ORDER
BY ese nombre de columna
self.lvPalabras.OnRellenar(array_ordenado) # Relleno el
listview con el array ordenado
Ves, éste es otro caso del comentario repitiendo el código.
Me la agarré con ese archivo porque es el que leí :P, pero no lo tomes
a mal, son simplemente sugerencias. Tu código se ve muy limpio y fácil
de leer. Otro detalle que te diria que mires es la separación de
elementos en listas de parámetros y tuplas[1], como en
self.lvPalabras.OnRellenar(self.deutschDB.extraer(self.criterio,self.orden))
Pylint[2] te puede ayudar a revisar esas cositas menores.
Notá que estoy nit picking y tu código ya es bastante limpio.
Saludos!
[0]: http://www.python.org/dev/peps/pep-0257/
[1]: http://www.python.org/dev/peps/pep-0008/
[2]: http://pypi.python.org/pypi/pylint
More information about the pyar
mailing list