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