Vous vous êtes déja demandé à quoi servaient toutes les options du refactoring dans Eclipse ? En voilà le détail en images !
Refactoring dans Eclipse
La version d’Eclipse utilisée est la 3.2
Le Refactoring permet de modifier une partie du code source de manière automatisée dans tout le programme, permettant à celui-ci de garder le fonctionnement originel sans devoir tout éditer manuellement. Aucune erreur ne sera donc liée à cette modification, alors qu’à la main, un oubli est vite arrivé.
Le Refactoring peut servir à mettre un jour un programme, à l’optimiser, à ajouter des fonctionnalités e nrestructurant le programme d’origine ou tout simplement à vous aider dans la création de votre programme.
Pour y accéder, vous pouvez effectuer un clique-droit sur la zone de code à modifier ou d’appuyer sur Alt+Shift+T.
Dans ce menu sera affiché les fonctions pouvant être exécutées sur le code en question, ne vous étonnez donc pas si vous ne voyez pas toutes les méthodes dans le menu.
Selon la complexité de la fonction, un assistant s’ouvrira pour vous aider.
Vous pouvez aussi y accéder par le menu "Refactor" dans la barre de menu.
Sur la plupart des fonctions présentées ci-dessous, un bouton "Preview" vous sera présenté et vous permettra d’avoir un aperçu des modifications avant que celles-ci soient exécutées sur votre code.
Voici les fonctions proposées :
Rename
Cette fonction permet de renommer l’élément sélectionné (Classe, méthode ou variable) et de modifier les appels à cet élément. Vous pouvez aussi renommer l’élément directement en le sélectionnant et en appuyant sur Alt+Shift+R, le menu "Rename" apparaitra directement.
Move
Cette fonction déplace l’élément dans un autre package ou une autre classe…
Le raccourci pour cette fonction est Alt+Shift+V.
Change Method Signature
Cette fonction peut modifier les droits d’accès d’une signature, le type du retour, les paramètres (nom, types et ordre) et les exceptions de la méthode.
Le raccourci pour cette fonction est Alt+Shift+C.
Extract Method
Cette fonction encapsule les éléments sélectionnés dans une nouvelle méthode et remplace les références de ces éléments pas un appel à cette fonction.
Le raccourci pour cette fonction est Alt+Shift+M.
Extract Local Variable
Cette fonction est basée sur le même principe que Extract Method mais pour encapsuler l’expression sélectionné dans une variable.
Le raccourci pour cette fonction est Alt+Shift+L.
Extract Constant
Cette fonction remplace une expression par un appel à un champ de classe avec les attributs static et final définit avec cette expression. Une option permet de remplacer les occurrences de l’expression par un appel à cette constante.
Inline
Cette fonction a le comportementinverse de Extract local Variable
Elle remplace le nom de la variable par son expression.
Le raccourci pour cette fonction est Alt+Shift+I.
Convert Anonymous Class to Nested
Cette fonction vous permet de transformer une classe anonyme trop volumineuse en une classe normale dans son propre fichier. Il suffit de mettre le curseur dans la classe anonyme que vous voulez modifier et cette fonction sera dégrisée.
Convert Member Type to Top Level
Cette fonction va créer une nouvelle classe pour le membre type sélectionné.
Convert Local Variable to Field
Cette fonction transforme une variable locale en champ de classe.
Extract Superclass
Cette fonction va créer une classe mère de l’objet sélectionné.
Extract Interface
Cette fonction analyse les éléments sélectionné et crée une interface puis implémente cette interface sur la classe courante.
Use Supertype Where Possible
Cette fonction analyse le code et remplace les types par l’un de ses « supertypes » là où c’est possible.
Push Down / Pull Up
Ces fonctions déplacent la sélection dans la sous-classe ou la superclasse.
Introduce Indirection
Cette fonction crée une méthode d’adressage indirecte délégant la méthode sélectionné.
Introduce Factory
Cette fonction crée une méthode appelant le constructeur sélectionné et qui retourne l’objet créé. Tous les appels au constructeur sont remplacés par des appels à cette méthode.
Introduce Parameter
Cette fonction remplace l’expression sélectionné par un paramètre dans la méthode courante et modifie les appels à cette méthode.
Encapsulate Field
Cette fonction remplace les occurrences à un champ de classe par l’appel aux méthodes get et set pour ce champ.
Generalize Declared Type
Cette fonction ouvre un assistant en indiquant quels « supertypes » peuvent remplacer le type de la sélection.
Infer Generic Type Arguments
Cette fonction remplace les types génériques par des types plus spécialisé là où ce remplacement est possible.
Migrate JAR File
Cette fonction permet de mettre un jour un JAR utilisé par votre programme et empêchant les erreurs possible causé par cette mise à jour.
Create Script
Cette fonction permet de créer un script des refactoring qui ont été appliqué au workspace. Ce script peut être sauvegardé dans un fichier ou copier au presse-papiers.
Apply Script
Cette fonction permet d’appliquer au workspace les scripts créés par la fonction précédente.
History
Cette fonction affiche un historique des refactoring appliquées au worspace et propose de les supprimer de cet historique.
Retrouvez ci-dessous les autres sections du Laboratoire Sun