ambar-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ambar-dev] Sobre calidad de codigo...


From: Andres Moya
Subject: [Ambar-dev] Sobre calidad de codigo...
Date: Sat, 24 Aug 2002 15:43:10 +0200

/me va a dar un par de capones a Aranarth...

A ver, señores, este va siendo ya un proyecto grandecito, y necesitamos 
disciplina. :-}

En el nuevo código para que los personajes tengan una clave, que por cierto, 
funciona bien (salvo un pequeño bug en dialogorecuperar.py, que ya está 
arreglado), has hecho dos Cosas Malas:

1) Has añadido dos atributos nuevos a PersonajeJugador, pero *no los has 
comentado*. Todo atributo de clase debe tener un texto en la cabecera de la 
clase explicando que es, y tambien debe tener las invariantes que hagan 
falta, y comprobar que se respetan siempre en el código.

2) Este es muy importante: cuando Minë ya esté en producción, si se cambian 
los formatos de los datos hay que tener en cuenta que ya habrá salas y 
jugadores creados, con los formatos antiguos. Desde ahora ya no valdrá eso de 
"borra los ficheros y vuelve a crear los personajes". Por eso preparé lo de 
las versiones de ficheros y objetos, e hice funciones para actualizar 
automáticamente las versiones. Te falta incrementar la version de Personaje a 
1.3 y escribir el código para añadir una clave automáticamente a los PJs que 
ya existan. De momento ya lo he hecho yo, pero en los siguientes cambios que 
se hagan hay que tener esto en cuenta. Puedes ver los cambios de la clase 
Personaje para ver cómo lo he hecho (hay que tener en cuenta que la versión 
afecta al mismo tiempo a Personaje, PersonajeJugador y PersonajeNoJugador). 
He hecho que por defecto los PJs antiguos tengan como clave su mismo id.

Otra cosa (esto ya no es de capón, es una sugerencia :). En cuanto pueda 
quiero convertir todos los atributos de las clases en atributos privados 
(precedidos por __) y con métodos de acceso (con el mismo nombre que el 
atributo), para seguir las directrices de orientación a objetos. Aunque los 
atributos que ya había sigan de la otra manera, me gustaría que todos los 
atributos nuevos que metamos sigan la convención.
Ejemplo: 

   class Hola:
      def __init__(self):
          self.__unArg = 1

      def unArg():
          return __unArg

Venga, animo que esto va muy bien.

Hirunatan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]