Extraire la méthode

Visual C# : développement d'application 
Extraire la méthode 

Extract Method est une opération Refactorisation qui offre un moyen simple de créer une nouvelle méthode à partir d'un fragment de code dans un membre existant.

L'opération Extract Method vous permet de créer une nouvelle méthode en extrayant une sélection de code de l'intérieur du bloc de code d'un membre existant. La nouvelle méthode créée contient le code sélectionné, et le code sélectionné dans le membre existant est remplacé par un appel à la nouvelle méthode. Transformer un fragment de code en sa propre méthode vous donne la possibilité de réorganiser rapidement et correctement le code pour une meilleure réutilisation et lisibilité.

Extract Method présente les avantages suivants :

  • Encourage l'application des méthodes conseillées pour le codage en mettant l'accent sur l'utilisation de méthodes discrètes et réutilisables.

  • Encourage le code auto-documenté via une bonne organisation. Lorsque des noms descriptifs sont utilisés, les méthodes de haut niveau peuvent se lire comme une série de commentaires.

  • Encourage la création de méthodes spécifiques pour simplifier la substitution.

  • Réduit la duplication de code.

NotesNotes

Lorsque vous utilisez la commande Extraire la méthode, la nouvelle méthode est insérée à la suite du membre source dans la même classe.

Types partielsTypes partiels

Si la classe est un type partiel, Extract Method génère la nouvelle méthode qui suit immédiatement le membre de source. Extract Method détermine la signature de la nouvelle méthode, en créant une méthode statique lorsque aucune donnée d'instance n'est référencée par le code dans la nouvelle méthode.

Paramètres de type génériqueParamètres de type générique

Lorsque vous extrayez une méthode qui a un paramètre de type générique sans contrainte, le code généré n'ajoutera pas le modificateur "ref" à ce paramètre à moins qu'une valeur lui soit assignée. Si la méthode extraite prend en charge les types référence comme argument de type générique, vous devez ajouter manuellement le modificateur "ref" au paramètre dans la signature de méthode.

Méthodes anonymesMéthodes anonymes

Si vous essayez d'extraire une partie d'une méthode anonyme qui inclut une référence à une variable locale qui est soit déclarée soit référencée en dehors de la méthode anonyme, Visual Studio vous avertit des changements sémantiques potentiels. Spécifiquement, les moments auxquels la valeur de la variable locale sera passée à la méthode anonyme différeront.

Lorsqu'une méthode anonyme utilise la valeur d'une variable locale, la valeur est obtenue au moment où la méthode anonyme est exécutée. Lorsqu'une méthode anonyme est extraite dans une autre méthode, la valeur de la variable locale est obtenue au moment de l'appel à la méthode extraite.

L'exemple suivant illustre ce changement sémantique : Si ce code est exécuté, 11 sera imprimé dans la console. Si vous utilisez la méthode Extraire pour extraire la région de code qui est marquée par les commentaires de code dans sa propre méthode, puis exécutez le code refactorisé, 10 sera imprimé dans la console.



class Program
{
    delegate void D();
    D d;
    static void Main(string[] args)
    {
        Program p = new Program();
        int i = 10;
        /*begin extraction*/
            p.d = delegate { Console.WriteLine(i++); };
        /*end extraction*/
        i++;
        p.d();
    }
}

Pour contourner cette situation, transformez en champs de la classe les variables locales qui sont utilisées dans la méthode anonyme.

Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/0s21cwxk.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4392
Document créé le 18/10/06 22:56, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-0s21cwxk.html Document affiché 6 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,48 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Chuck Norris peut gagner une partie de puissance 4 en trois coups.

Anonyme [Chuck Norris fact]
 
l'infobrol
Nous sommes le Mercredi 30 Mai 2012, 14:03, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)