Título: Mi primera aplicación en vb.net Publicado por: Orb en 17 Diciembre 2014, 13:44 pm Buenos días , desde hace una semana estoy siguiendo un curso de visual basic.net , y hoy me he puesto a intentar hacer algo MUY básico como lo es una calculadora.Pido que no se me infravalore solo por ello , ya que estoy empezando , y el haber podido llevar a cabo la calculadora , por muy fácil que sea , es un gran paso para mí.
Realmente la calculadora no tiene nada innovador , toda ella se basa en los operadores aritméticos incluyendo lel operador mod(si es que se le llama operador).La aplicación se compone en cuatro bloques , por llamarlo de alguna manera , cada bloque con dos textbox y un button , un bloque para multiplicar , otro para sacar el resto de una división , otro para la suma y un último para la resta. Me gustaría que me dierais opiniones respecto al código , respecto a si puede simplificarse el código , si hay expresiones mal utilizadas o algún consejo a tener en cuenta para más adelante.Sin más , aquí os lo dejo , un saludo y gracias. Código
Título: Re: Mi primera aplicación en vb.net Publicado por: Shell Root en 17 Diciembre 2014, 14:34 pm Como siempre se utilizan las 2 variables para recoger los valores y uno para calcularas, ponerlas generales. Es decir,
Código
Título: Re: Mi primera aplicación en vb.net Publicado por: Eleкtro en 17 Diciembre 2014, 22:19 pm hoy me he puesto a intentar hacer algo MUY básico como lo es una calculadora.Pido que no se me infravalore solo por ello , ya que estoy empezando No creo que eso sea algo que deba preocuparte, aqui estamos para ayudar, no para juzgar quien eres por cuanto sabes. toda ella se basa en los operadores aritméticos incluyendo lel operador mod(si es que se le llama operador) Si, es un operador: Mod Operator (Visual Basic) (http://msdn.microsoft.com/en-us/library/se0w9esz.aspx) Me gustaría que me dierais opiniones respecto al código , respecto a si puede simplificarse el código , si hay expresiones mal utilizadas. El único inconveniente que le veo es que estás utilizando el DataType Integer, y esto para una calculadora no es lo más apropiado xD, ya que la capacidad máxima de un Integer es poca, y excluye la posibilidad de usar y calcular correctamente decimales. Aparte de eso, el código en general se puede simplificar mucho, ya que utilizas la abundante repetición de código para hacer lo mismo 4 veces, eso es de lo más normal en alguien que está aprendiendo, pero mi consejo es que debes acostumbrarte cuanto antes a programar de forma dinámica, es una aventura que te brindará un sin fin de posibilidades, te ayudará a estructurar el código y eso evitará en parte que acabes escribiendo un código spaghetti (Spaghetti code - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Spaghetti_code)). Por un lado, está la Class principal. Lo más destacable de esta modificación que he escrito sería el Type "MathInfo" y la multiple subscripción del mismo evento de todos los botones, combinando ambas cosas nos ayuda a elaborar la tarea de forma dinámica utilizando la propiedad Tag de los botones para asociar un objeto "MathInfo" a cada botón, esto nos evita tener que duplicar código innecesario. Y en fín, todo esto nos lleva siempre al método "DoMaths", donde podemos implementar controles de errores, etc. (eso ya es cosa tuya) También debo decir que lo he estructurado basándome en tu ejemplo, es decir, que esto se podría simplificar más si fuera otro caso, donde no tuvieras 8 TextBoxes para 8 valores distintos y 4 botones. Código
Y por otro lado, lo apropiado es separar las funciones que haces en otra Class, donde puedes implementar las herramientas relacionadas con la aritmética: ( Ten en cuenta que "simplificar", no siempre significa escribir menos ) Código
Espero que te haya servido. Saludos. Título: Re: Mi primera aplicación en vb.net Publicado por: Orb en 18 Diciembre 2014, 22:49 pm Muchas gracias , Shell Root y Elektro.
Mientras continuaba con la calculadora me di cuenta de que el código era muy repetitivo y tendría que existir alguna forma de simplificarlo , aparte de otras cosas. Muchas gracias por vuestros consejos¡ Un saludo |