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 comportement  inverse 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
Evènements
Java Sun Net Talk LIVE CHAT le 2 Avril à 16h303/29/08
SolarisSunDécouvrez les nouveaux Sun Fire sous Intel10/11/07
JavaValtech Days10/9/07
JavaApacheCon du 1 au 4 mai à Amsterdam2/13/07

Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Actualités
SunProjet Kenai: une nouvelle forge open source10/3/08
SunSun Microsystems en forme !8/4/08
SunOpenDS un ldap 100% java7/24/08
SunSun et Fujitsu annoncent un nouveau Sparc647/16/08
SunVisualVM, un outil de surveillance des applications Java7/10/08

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée