Foros del Web » Programación para mayores de 30 ;) » Java »

Como refactorizar código

Estas en el tema de Como refactorizar código en el foro de Java en Foros del Web. Estoy intentando limpiar un poco la cocina y no se muy bien como hacerlo... digamos que tengo este código Código: public class MainActivity extends JavaPlugin ...
  #1 (permalink)  
Antiguo 30/11/2019, 22:56
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 9 años, 6 meses
Puntos: 66
Como refactorizar código

Estoy intentando limpiar un poco la cocina y no se muy bien como hacerlo...


digamos que tengo este código
Código:
public class MainActivity extends JavaPlugin implements Listener{
   public void a() {
      cosa1(muy extensa que obtiene algo que usara la cosa2)
      cosa2
   }
}
¿puedo sacar todo el codigo de cosa1 a otro fichero y llamarlo como una función para que cosa 2 solo tenga que usar lo que la cosa 1 devolvió?
  #2 (permalink)  
Antiguo 03/12/2019, 04:10
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 11 años, 3 meses
Puntos: 188
Respuesta: Como refactorizar código

El concepto de refactorizar se basa en que si detectas que en dos sitios se están ejecutando las mismas lineas de código puedes pensar que llevandolas a un método o función aparte puedes evitar las repeticiones innecesarias de código.

También implica revisar los nombres que asignas a variables y métodos para ver si son legibles por alguien que vaya a mantener el código.

Y otras tantas cuestiones.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 03/12/2019, 04:15
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 11 años, 3 meses
Puntos: 188
Respuesta: Como refactorizar código

Te recomiendo leer esto

https://tgitdata.blob.core.windows.n...ftsmanship.pdf

https://ff.tu-sofia.bg/~bogi/knigi/S...n%20Crisis.pdf

https://ff.tu-sofia.bg/~bogi/knigi/S...l,%202010).pdf
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}



La zona horaria es GMT -6. Ahora son las 21:33.