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
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.
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
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.
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
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.
mira aqui un jemplo muy parecido
http://www.infoq.com/presentations/The-Limited-Red-Society