"Refactoring: mejorar el diseño de código existente", señala el estudio 5 para simplificar las llamadas de funciones

función de cambio de nombre (1) Método Cambiar nombre

Un verdadero maestro de la programación, niveles nombradas es esencial.

(2) Añadir parámetros Agregar parámetro

(3) Eliminar parámetros quitan de parámetros

(4) Separar consulta de consulta modificador y modificar la función de separación de funciones

Esa es una función devuelve un estado del objeto, y modificar el estado del objeto, para crear dos funciones diferentes, uno de los cuales es responsable de la consulta de la otra para la modificación.

Ejemplos: (Ejemplo) 

tiene la función de un tal: cuando el sistema de seguridad de intrusión a alguien, que me va a decir el nombre del intruso y envía una alerta. Si un intruso es más de una única enviar una alerta: 

  Cadena foundMiscreant (String [] personas) { 

      a ( int i = 0; I <people.length; i ++ ) { 

          IF (personas [I] .equals ( "Don" ) ) { 

             SendAlert (); 

             retorno "Don" ; 

          } 

          SI (la gente [I] .equals ( "Juan" )) { 

             SendAlert (); 

             retorno "John" ; 

          } 

      } 

      retorno "" ;



  
foundMiscreant (personas); 

      someLaterCode (encontrado); 

  }

- "

Cadena foundPerson (String [] personas) { 

       para ( int i = 0; i <people.length; i ++ ) { 

           si (personas [i] .equals ( "Don" )) { 

              retorno "Don" ; 

           } 

           Si (personas [i] .equals ( "Juan" )) { 

              retorno "Juan" ; 

           } 

       } 

       Volver "" ; 

   } 


  Void sendAlert (String [] personas) { 

      si (foundPerson (personas) .equals ( ""! )) 

          SendAlert (); 

  } 

  Void CheckSecurity (personas String []) { 

      foundMiscreant (personas);

      Cadena encontrada = foundPerson (personas); 

      someLaterCode (encontrado); 

  }

Completar la inspección y evaluación en la misma acción. Hace independiente de consulta del modificador y contradictorio? Doug Lea y yo hemos discutido este tema, y ​​concluyó: los dos no son contradictorios, pero hay que hacer un poco de trabajo extra. La consulta de acción y la acción separada de modificación sigue siendo de gran valor. Sin embargo, es necesario mantener una tercera función de hacer ambas cosas. La "Consulta - función Modificar' se llamará función de investigación independiente y modificar la función, y fue declarado cuando se sincroniza.

 

Supongo que te gusta

Origin www.cnblogs.com/zdcsmart/p/12511096.html
Recomendado
Clasificación