« Refactoring: Améliorer la conception des codes existants » notes d'étude 5 pour simplifier les appels de fonction

(1) Renommer changement de nom de fonction Méthode

Un vrai maître de la programmation, les niveaux nommés est essentiel.

(2) Ajouter des paramètres de paramètres add

(3) Suppression des paramètres de paramètres remove

(4) Séparer Query De Modificateur requête et de modifier la fonction de séparation de fonction

Qui est une fonction retourne un état d'objet, et de modifier l'état de l'objet, de créer deux fonctions différentes, dont l'un est responsable de l'interrogation de l'autre pour la modification.

Exemples: (exemple) 

a une telle fonction: quand quelqu'un système de sécurité d'intrusion, il va me dire le nom de l'intrus et envoie une alerte. Si un intrus est plus d'une seulement envoyer une alerte: 

  Chaîne foundMiscreant (String [] personnes) { 

      pour ( int i = 0; I <Personnes.Length; i ++ ) { 

          IF (personnes [I] equals ( "Don" ) ) { 

             SendAlert () 

             retour "Don" ; 

          } 

          SI (personnes [I] equals ( "John" )) { 

             SendAlert () 

             retour "John" ; 

          } 

      } 

      return "" ;



  
foundMiscreant (personnes); 

      someLaterCode (trouvé); 

  }

- "

Chaîne foundPerson (String [] personnes) { 

       pour ( int i = 0; i <Personnes.Length; i ++ ) { 

           si (personnes [i] equals ( "Don" )) { 

              retour "Don" ; 

           } 

           Si (personnes [i] equals ( "John" )) { 

              retour "John" ; 

           } 

       } 

       Retourner "" ; 

   } 


  Vide SendAlert (String [] personnes) { 

      si (foundPerson (personnes) equals ( ""! )) 

          SendAlert (); 

  } 

  Vide checksecurity (String [] personnes) { 

      foundMiscreant (personnes);

      Chaîne trouvé = foundPerson (personnes); 

      someLaterCode (trouvé); 

  }

Compléter l'inspection et l'évaluation dans la même action. Est-ce que cette requête séparée de Modificateur et contradictoires il? Doug Lea et moi avons discuté de cette question, et a conclu: les deux ne sont pas contradictoires, mais vous devez faire un travail supplémentaire. La requête d'action et une action modify distincte est toujours d'une grande valeur. Mais vous devez garder une troisième fonction de faire les deux. La « requête - fonction Modifier » sera appelée fonction d'enquête indépendante et de modifier la fonction, et a été déclarée lors d'une synchronisation.

 

Je suppose que tu aimes

Origine www.cnblogs.com/zdcsmart/p/12511096.html
conseillé
Classement