Reconstruir este trozo de código en java

Iniciado por Tuplado, 14 Octubre 2012, 15:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Tuplado

Hola me gustaría refactorizar y probar con JUnit este trozo de código, alguien sabe.

public class Forma {
public static final int CUADRADO = 1;
public static final int CIRCULO = 2;
public static final int TRIANGULO_RECTO = 3;
private int tipoForma;
private double size;
public Forma(int tipoForma, double size) {
this.tipoForma = tipoForma;
this.size = size;
}
// ... other methods ...
public double area() {
switch (tipoForma) {
case CUADRADO: return size*size;
case CIRCULO: return Math.PI*size*size/4.0;
case TRIANGULO_RECTO: return size*size/2.0;
}
return 0;
}}


LA PRUEBA LA ESTOY HACIENDO EN ECLIPSE
Gracias

[Case]

No entiendo bien. Si lo que quieres es hacer una clase que actuae mas o menos igual.
Por que empezar con eso? si hacerlo desde 0 es mas facil y comodo.

sapito169

Código (java) [Seleccionar]

import junit.framework.Assert;

import org.junit.Test;


public class LaFormaDeberia {


@Test
public void calcularElAreaDelCuadrado(){
Forma forma =new Forma(Forma.CUADRADO, 2);
Assert.assertEquals(forma.area(), 4.0);
}

@Test
public void calcularElArea(){
Forma forma =new Forma(Forma.TRIANGULO_RECTO, 2);
Assert.assertEquals(forma.area(), 2.0);
}

@Test
public void calcularElDelCirculo(){
Forma forma =new Forma(Forma.CIRCULO, 2);
Assert.assertEquals(forma.area(), 12.56,0.01);
}
}



y no pasa la prueba

Tuplado

Mira una pregunta Sapito?

si yo quiero realizar una refactorización de este trozo de código:

LA REFACTORIZACION: ES UN TECNICA QUE SE UTILIZA PARA RESTRUCTURAR EL CODIGO PERO SIN MODIFICAR SU RESULTADO, ES UNA REORGANIZACION MAS BIEN.

Partiendo de ahí.

Creo que hay una manera de hacer un refactory en eclipse pero no se como se instala, tu sabrás campeón, esto ahorra mucho tiempo en hacerlo a mano

Un saludo.

sapito169

#4
no se instala nada en eclipse toda las erramientas de refactoring ya las tienen instalada lo mas dificil es instalarlo en el cerebro  ;D

eclipse no va refactorizar tu codigo tu lo vas a hacer con un monton de pequeños refactoring es como desarrollar tu eres el que lo hace y para eso usas un monton de: metodos, clases, interfaces, bucles, condiciones etc


en eclipse selecionas una porcion de codigo luego pones alt + shit + t y te sale una lista de los refactorings

uno de los refactorings mas facil pero mas importantes y menos propenso a error es el renombrado.
para renombrar selecionas una variable presionas control r  y escribes el nuevo nombre

recuerda que primero tu clase deve estar en verde par comensar el refactoring

tienes que tener en cuenta que refactoring es un tema complejo y extenso donde el uso de la erramineta es solo elemental. en lo personal a mi me sigue tomando un monton de tiempo seguir aprendiendo refactoring

el acto en si de hacer refactoring no es lo mas importante si no todo el cumulo de conocimiento (de diseño arquitectura patrones buenas practicas experiensias practica estudio principios valores etc) por los cuales desido si hacer o no refactoring y de que manera


Tuplado

Ya estuve mirando, casi nada, mi madre.

El tema esta increible,y con tiempo dan ganas de seguir con el, pero tiempo no se si me dará porque tengo examen mañana.

SABRIAS COMO SE HACE LA REFACTORIZACION DE ESTE CODIGO, PARA TENERLO DE EJEMPLO, TE LO AGRADECERIA UN MONTON sapito.

public class Forma {
public static final int CUADRADO = 1;
public static final int CIRCULO = 2;
public static final int TRIANGULO_RECTO = 3;
private int tipoForma;
private double size;
public Forma(int tipoForma, double size) {
this.tipoForma = tipoForma;
this.size = size;
}
// ... other methods ...
public double area() {
switch (tipoForma) {
case CUADRADO: return size*size;
case CIRCULO: return Math.PI*size*size/4.0;
case TRIANGULO_RECTO: return size*size/2.0;
}
return 0;
}}

Un Saludo y muchas gracias por toda tu ayuda.