Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: javaquery en 08 de Abril 2017, 12:22

Título: Qué significa refactorizar un código de programación ejemplo Java clase Cliente
Publicado por: javaquery en 08 de Abril 2017, 12:22
Hola, necesito refactorizar el siguiente codigo, cual seria el mejor método:

Código: [Seleccionar]
public class Cliente {

public String nombre;
public int edad;
public String dni;

public Cliente() {
}

public static void main(String[] args) {
Cliente cliente = new Cliente();
cliente.nombre = "roberto";
cliente.edad = 38;
cliente.dni = "12345678T";
}
}

Título: Re:refactorizar
Publicado por: javaquery en 11 de Abril 2017, 11:25
He usado el metodo extaer clase, pero no se si es el correcto, me quedaria asi el codigo

Código: [Seleccionar]
public class Cliente {

public ClienteDatos datos = new ClienteDatos();

public Cliente() {
}

public static void main(String[] args) {
Cliente cliente = new Cliente();
cliente.datos.setNombre("roberto");
cliente.datos.setEdad(38);
cliente.datos.setDni("12345678T");
}
}
y en otro archivo llamado Clientedatos

Código: [Seleccionar]
public class ClienteDatos {
private String nombre;
private int edad;
private String dni;

public ClienteDatos() {
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public String getDni() {
return dni;
}

public void setDni(String dni) {
this.dni = dni;
}
}

Título: Re:refactorizar
Publicado por: pedro,, en 11 de Abril 2017, 14:20
Hola javi.

Creo que es buena opción la que usaste, pero creo que los nombres de las clases no son los apropiados, la clase que llamaste ClienteDatos debería llamarse Cliente, puesto que es la clase que representará lo que es un cliente. Y la otra clase, la que contiene el método main, podría llamarse algo como CrearNuevosClientes.

Saludos.  ;D
Título: Re:refactorizar
Publicado por: javaquery en 11 de Abril 2017, 15:35
la clase ClienteDatos no se puede llamar Cliente, puesto que ya existe la clase Cliente y eclipse no me deja llamarla igual
Título: Re:refactorizar
Publicado por: pedro,, en 11 de Abril 2017, 17:05
Intenta cambiar el nombre de la clase Cliente primero y luego cambias el de la clase ClienteDatos.

Saludos. ;D