Mejorar este código - 2a parte

Gabriel Genellina gagsl-py2 en yahoo.com.ar
Sab Mayo 24 00:31:38 CEST 2008


En Fri, 23 May 2008 12:02:19 -0300, <eber_ramirez en ltv.org.mx> escribió:

> Aquí pongo el link con la versión del código ajustado, siguiendo las  
> amables recomendaciones que me dio Arnau en el mensaje del 8 de mayo

Creo que http://python.pastebin.com/ seria un lugar mas comodo para poner  
el codigo. Un par de comentarios:

En lugar de
'AsMin = %s cm2\n' % str(round(x.AsMin, 2))
es mas comodo usar
'AsMin = %.2f cm2\n' % x.AsMin

La funcion ER_float (que ignora todos los errores y devuelve 0) no me  
convence demasiado. Si el usuario ingresa 1OO va a calcular como si fuera  
un 0 - y sin avisar. No parece correcto. Lo que hay que hacer es validar  
(en la interfase) todos los campos ingresados, y mostrar un error si no  
son validos (antes siquiera de empezar a calcular).

El objeto mas importante -o casi- de todo el programa se llama 'x', a  
secas, y es global... Podrias darle un nombre mejor que esa mísera letra,  
no? Y pasarselo a la interfaz para que lo tenga disponible sin necesidad  
de que sea global.

En esta funcion:
    def MRSAC(self, aa = 'DF', bb=0.9, cc=20.0,
               dd=40.0, ee=4200.0, ff=250.0, gg=2.54):
         """ Metodo para MR sin Acero a Compresion
         El orden correcto de los parametros es Reglamento como string
         ('DF' o 'ACI'), FR adimensional, b en cm, d en cm, fy en kg/cm2,
         fc en kg/cm2 y finalmente As en cm2. El calculo de MR es en T-m.
         Todos los numeros se manejan como float """

         # Capturamos cualquier valor que el usuario haya dado
         self.codigo = aa
         self.FR = bb
         self.b = cc
         self.d = dd
         self.fy = ee
         self.fc = ff
         self.As = gg

¿porque los argumentos tienen esos nombres sin sentido? Por lo menos  
podrias usar los mismos nombres con que se guardan internamente (codigo,  
FR...) De esa forma tambien se pueden pasar por nombre, y no hace falta el  
comentario sobre "el orden correcto de los parametros". Ademas, cualquier  
editor decente te muestra esos nombres al auto-completar una llamada, asi  
que es importante que sean representativos.

-- 
Gabriel Genellina

------------ 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