[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